Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 34a6df5317 | |||
| 58d4fb2d43 | |||
| f8d2398d22 |
@@ -4,7 +4,7 @@ PORT=3000
|
||||
# Email Configuration
|
||||
MAIL_PROVIDER=smtp
|
||||
MAIL_FROM_EMAIL=noreply@example.com
|
||||
MAIL_FROM_NAME=Secure Portal
|
||||
MAIL_FROM_NAME=Mail Server
|
||||
|
||||
# SMTP (Brevo)
|
||||
SMTP_HOST=smtp-relay.brevo.com
|
||||
|
||||
41
README.md
@@ -1,6 +1,6 @@
|
||||
# Mail-Service mit Brevo SMTP
|
||||
# Mail-Service
|
||||
|
||||
Ein Node.js-basierter Mail-Service mit Weboberfläche zum Versenden von E-Mails über Brevo (ehemals Sendinblue) SMTP. Inklusive persistenter Versand-Historie und eingebettetem Bild-Footer.
|
||||
Ein Node.js-basierter Mail-Service mit Weboberfläche zum Versenden von E-Mails über SMTP. Funktioniert mit jedem SMTP-Anbieter (Brevo, Mailgun, Resend, SendGrid, eigener Mailserver, etc.). Inklusive persistenter Versand-Historie und eingebettetem Bild-Footer.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -9,7 +9,11 @@ Ein Node.js-basierter Mail-Service mit Weboberfläche zum Versenden von E-Mails
|
||||
- **Persistente Historie** in SQLite-Datenbank
|
||||
- **Eingebettete Bilder** via CID-Attachment (werden ohne "Bilder anzeigen" dargestellt)
|
||||
- **REST-API** für programmatischen Zugriff
|
||||
- **Brevo SMTP** mit DKIM/SPF/DMARC-Unterstützung
|
||||
- **Flexibler SMTP-Versand** - Kompatibel mit allen SMTP-Anbietern
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Projektstruktur
|
||||
|
||||
@@ -56,25 +60,28 @@ cp .env.example .env
|
||||
PORT=3000
|
||||
|
||||
# Email Configuration
|
||||
MAIL_PROVIDER=smtp
|
||||
MAIL_FROM_EMAIL=noreply@example.com
|
||||
MAIL_FROM_NAME=Secure Portal
|
||||
MAIL_FROM_NAME=Mein Service
|
||||
MAIL_FOOTER_NAME=Dein Name
|
||||
|
||||
# SMTP (Brevo)
|
||||
SMTP_HOST=smtp-relay.brevo.com
|
||||
# SMTP
|
||||
SMTP_HOST=smtp.example.com
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=deine-email@example.com
|
||||
SMTP_PASSWORD=dein-brevo-smtp-key
|
||||
SMTP_USER=dein-username
|
||||
SMTP_PASSWORD=dein-passwort
|
||||
SMTP_SECURE=false
|
||||
```
|
||||
|
||||
### Brevo SMTP-Key erstellen
|
||||
### SMTP-Anbieter Beispiele
|
||||
|
||||
1. Bei [Brevo](https://www.brevo.com) einloggen
|
||||
2. Gehe zu: Einstellungen → SMTP & API → SMTP
|
||||
3. "SMTP-Schlüssel generieren" klicken
|
||||
4. Schlüssel in `.env` als `SMTP_PASSWORD` eintragen
|
||||
| Anbieter | SMTP_HOST | SMTP_PORT | SMTP_SECURE |
|
||||
|----------|-----------|-----------|-------------|
|
||||
| Brevo | smtp-relay.brevo.com | 587 | false |
|
||||
| Mailgun | smtp.mailgun.org | 587 | false |
|
||||
| Resend | smtp.resend.com | 465 | true |
|
||||
| SendGrid | smtp.sendgrid.net | 587 | false |
|
||||
| Gmail | smtp.gmail.com | 587 | false |
|
||||
| Eigener Server | mail.domain.de | 465 | true |
|
||||
|
||||
## Starten
|
||||
|
||||
@@ -257,9 +264,9 @@ const nodemailer = require('nodemailer');
|
||||
const path = require('path');
|
||||
|
||||
const transporter = nodemailer.createTransport({
|
||||
host: 'smtp-relay.brevo.com',
|
||||
port: 587,
|
||||
secure: false,
|
||||
host: process.env.SMTP_HOST,
|
||||
port: parseInt(process.env.SMTP_PORT),
|
||||
secure: process.env.SMTP_SECURE === 'true',
|
||||
auth: {
|
||||
user: process.env.SMTP_USER,
|
||||
pass: process.env.SMTP_PASSWORD
|
||||
|
||||
BIN
assets/blue-green.png
Normal file
|
After Width: | Height: | Size: 910 B |
BIN
assets/blue-red.png
Normal file
|
After Width: | Height: | Size: 884 B |
BIN
assets/blue.png
Normal file
|
After Width: | Height: | Size: 936 B |
BIN
assets/cal-green.png
Normal file
|
After Width: | Height: | Size: 703 B |
BIN
assets/cal.png
Normal file
|
After Width: | Height: | Size: 678 B |
BIN
assets/cog-green.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/cog.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/home-green.png
Normal file
|
After Width: | Height: | Size: 640 B |
BIN
assets/home-red.png
Normal file
|
After Width: | Height: | Size: 670 B |
BIN
assets/psy-green.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
assets/psy-red.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/psy.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
screenshots/screenshot1.png
Normal file
|
After Width: | Height: | Size: 55 KiB |