- Wie richte ich einen SMTP-Server auf Hetzner ein, der E-Mails versendet und keinen Spam verursacht?
- Vorgeschlagene Architektur und erste Überlegungen
- Schritte zur Vorbereitung des sendenden Servers (Hetzner)
- DKIM, SPF und DMARC – DNS-Konfiguration
- E-Mails auf einem anderen Server empfangen und Bounces verwalten
- Spam vermeiden – Bewährte Vorgehensweisen
- Kontrollieren Sie die Senderaten und Warteschlangen und verhindern Sie einen negativen Ruf.
- Tests und Tools zur Überprüfung der Zustellbarkeit
- Vollständiges Prozessbeispiel: Senden von Anwendung A über Hetzner als Relay
- Weitere Sicherheits- und Betriebshinweise
- Empfohlene Open-Source-Tools für die Automatisierung (kostenlos)
- Link zu den Dienstleistungen des Unternehmens (über 85 Standorte und Dienstleistungen)
- Schlusspunkt
Wie richte ich einen SMTP-Server auf Hetzner ein, der E-Mails versendet und keinen Spam verursacht?
Diese Anleitung erklärt Schritt für Schritt, wie Sie SMTP auf einem Hetzner-Cloud-Server zum Versenden von E-Mails implementieren und den Empfang von E-Mails auf einem anderen Server einrichten. Sie behandelt außerdem wichtige DNS-Einstellungen (SPF, DKIM, DMARC, PTR), Authentifizierung (SASL/TLS), Bounce- und Abmeldemanagement sowie praktische Empfehlungen zur Vermeidung von Blacklisting.
Vorgeschlagene Architektur und erste Überlegungen
Vorgeschlagene Architektur:
- Send Server (Hetzner Cloud): Installation Postfix + OpenDKIM + OpenDMARC + TLS — Zuständig für den E-Mail-Versand (SMTP-Relay).
- Eingehender Server (z. B. Ihr VPS oder Hosting-Server): Die MX-Einträge verweisen auf diesen Server; zuständig für die Zustellung und den Empfang eingehender Nachrichten (POP/IMAP/Dovecot oder Ihr E-Mail-Dienst).
- Bounce- und Unsubscribe-Mailbox: Bounces werden an eine spezielle Adresse gesendet und von dem empfangenden Server verarbeitet.
- Benutzer/Anwendungen: Verwendung SMTP-AUTH (oder IP-basierte Autorisierung) Authentifizierung auf dem Hetzner-Server, um die Weiterleitung zu erlauben.
Schritte zur Vorbereitung des sendenden Servers (Hetzner)
Installation der Basispakete (Debian/Ubuntu)
Beispiel für Ubuntu/Debian:
sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd opendkim opendkim-tools opendmarc certbot postfix-policyd-spf-python rspamdHostnamen und PTR festlegen
Es ist notwendig, den Hostnamen auf dem Weiterleitungsserver festzulegen und Reverse-DNS im Hetzner-Panel zu registrieren.
sudo hostnamectl set-hostname mail.example.comPostfix-Konfigurationstipps: Menge meinHostname Stellen Sie es auf mail.example.com ein und geben Sie den Wert mail.example.com im Hetzner-Panel für die Reverse-IP ein.
TLS mit Let's Encrypt konfigurieren
Ausstellen eines Zertifikats und dessen Referenzierung in den Postfix-Einstellungen:
sudo certbot certonly --standalone -d mail.example.comIn main.cf Fügen Sie die folgenden Werte hinzu:
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_security_level = mayGrundlegende Postfix-Konfiguration (Auszug aus main.cf)
Eine Auswahl wichtiger Schauplätze in main.cf:
myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = localhost
relay_domains =
mynetworks = 127.0.0.0/8
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_helo_required = yesErläuterung: reject_unauth_destination Verhindert, dass Ihr Server als offenes Relay genutzt wird; nur autorisierte Benutzer oder bekannte Rechner können weiterleiten.
SASL mit Dovecot aktivieren (zur Authentifizierung von sendenden Benutzern)
In der Datei /etc/dovecot/conf.d/10-master.conf Abschnitt Dienstauthentifizierung Stellen Sie es folgendermaßen ein:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}Sie können lokale Passwörter, eine SQL-Datenbank oder LDAP zur Authentifizierung verwenden. Starten Sie anschließend die Dienste neu.
sudo systemctl restart dovecot postfixDKIM, SPF und DMARC – DNS-Konfiguration
Generieren eines DKIM-Schlüssels mit OpenDKIM
Beispiel für die Erstellung eines DKIM-Schlüssels auf dem sendenden Server:
sudo mkdir /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.comDatei mail.txt Generiert; TXT-Eintragsinhalt, der in DNS hinzugefügt werden soll: Selektor = E-Mail → mail._domainkey.example.com.
Beispieleinstellungen /etc/opendkim.conf (Auszug):
Domain example.com
KeyFile /etc/opendkim/keys/example.com/mail.private
Selector mail
AutoRestart yes
Socket local:/var/spool/postfix/opendkim/opendkim.sockUnd in /etc/postfix/main.cf Hinzufügen:
milter_default_action = accept
smtpd_milters = unix:/var/spool/postfix/opendkim/opendkim.sock
non_smtpd_milters = $smtpd_miltersSPF-Aufzeichnung
Im DNS der Beispieldomäne:
example.com. IN TXT "v=spf1 ip4:YOUR_HETZNER_IP include:spf.protection.example ?all"Oder genauer gesagt:
"v=spf1 ip4:YOUR_HETZNER_IP -all"Empfehlung: Zu Beginn von ~alle Oder ?alle Nutzen Sie es, damit anfängliche Fehler nicht zu einer kompletten Ablehnung führen, und seien Sie dann strenger.
DMARC-Eintrag
Beispiel für DMARC im DNS:
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"Notiz: Zunächst können Sie p=keine Dann schauen wir uns mal die Berichte an. p = Quarantäne Oder p = ablehnen Aktivieren.
E-Mails auf einem anderen Server empfangen und Bounces verwalten
So konfigurieren Sie MX für den Empfang
Beispiel eines MX-Eintrags im DNS:
example.com. IN MX 10 mail-receive.example.orgHinweis: Der MX-Eintrag muss auf den empfangenden Server verweisen; Ihr Absender verwendet Hetzner für ausgehende E-Mails – daher muss ein SPF/DKIM-Eintrag für die sendende Domain eingerichtet werden.
Rückpfadkonfiguration und Bounce-Management
Ein paar wichtige Punkte:
- Der Return-Pfad sollte speziell für die Verarbeitung von Retouren konfiguriert sein; am besten verweist er auf eine dedizierte Subdomain wie z. B. bounce.example.com Weisen Sie darauf hin.
- VERP kann für jede E-Mail verwendet werden:
envelope-from="[email protected]"Um die Rendite genauer zu bestimmen.
Verarbeitung von Bounces – empfohlene Vorgehensweise:
- Eine Adresse
[email protected]Erstellen Sie es und verweisen Sie dessen MX-Eintrag auf den Server, der es verarbeitet. - Dieser Server mit fetchmail / getmail Oder rufen Sie das IMAP-Postfach direkt ab und ergreifen Sie Maßnahmen mithilfe von Bounce-Verarbeitungsskripten.
- Zum Auswerten von Bounces können Sie Tools wie die folgenden verwenden: Flanker Oder Mail::Delivery::BounceParser Verwenden.
Beispiel für Bounce-Verarbeitung mit Flanker (Python)
Erste Installation:
pip install flankerEinfaches Skriptbeispiel (Lesen von stdin und Verarbeiten):
from flanker import mime
from flanker.utils import bounces
import sys
raw = sys.stdin.read()
msg = mime.from_string(raw)
bounce = bounces.parse(raw)
# classify and store bounce info in database or suppression listNach Kategorie harter Aufprall (5xx-Fehler) und weicher Rückprall (4xx) Sie können Lösch- oder Wiederholungsrichtlinien anwenden.
Spam vermeiden – Bewährte Vorgehensweisen
Technische Einstellungen
- PTR Konsonant mit
meinHostnameund A ist ein Datensatz. - Lichtschutzfaktor, DKIM, DMARC Aktivieren und DKIM-Signatur.
- Das HELO/SMTP-Banner stimmt mit dem Hostnamen überein.
- TLS aktiviert und
smtpd_tls_auth_only = yesUm unverschlüsselte Übertragung zu verhindern. - Vermeiden Sie IPs mit schlechter Historie und verwenden Sie einen geeigneten rDNS-Server.
Inhaltsrichtlinien und Listen
- Immer von Double-Opt-in Zur Verwendung für E-Mail-Listen.
- Jede E-Mail sollte einen einfachen und verständlichen Abmeldelink enthalten; im Header der
Liste abbestellenVerwenden:
List-Unsubscribe: <mailto:[email protected]>, <https://example.com/unsubscribe?email=...>- IP-Aufwärmphase: Senden Sie vom ersten Tag an einen kleinen Betrag und erhöhen Sie diesen allmählich.
- Adressen mit hohen Bounce- oder Beschwerderaten werden entfernt oder entsprechend gekennzeichnet.
- Einhaltung von Gesetzen wie CAN-SPAM und DSGVO für europäische Nutzer.
Kontrollieren Sie die Senderaten und Warteschlangen und verhindern Sie einen negativen Ruf.
Postfix-Einstellungen zur Begrenzung von Parallelität und Zielverzögerung:
postconf -e "smtp_destination_concurrency_limit = 20"
postconf -e "smtp_destination_rate_delay = 1s"Für komplexere Richtlinien als Richtlinien-Daemons wie postfwd, Politik Oder rspamd Verwenden.
Warteschlangenverwaltung mit Postfix-Befehlen:
postqueue -p
postsuper -d ALLDeferredTests und Tools zur Überprüfung der Zustellbarkeit
- Um SMTP zu testen swaks Verwenden:
swaks --to [email protected] --from [email protected] --server mail.example.com --auth LOGIN --auth-user smtpuser --auth-password smtppass --tls- Überprüfen Sie die Header mit mail-tester.com Und MXToolbox Um die Blacklist und SPF/DKIM/DMARC zu überprüfen.
- Überwachungsprotokolle mit:
tail -f /var/log/mail.logAnalyse von DMARC-Berichten anhand von Werten rua Und ruf Hilft Ihnen bei der Suche nach Lieferproblemen.
Vollständiges Prozessbeispiel: Senden von Anwendung A über Hetzner als Relay
- Antrag A bis
mail.example.com:587Stellt eine Verbindung zum Benutzer hersmtp_userund Passwort; die Authentifizierung wird durchgeführt. - Nach der Überprüfung gibt der Hetzner-Server die E-Mail aus und signiert sie mit DKIM; SPF und PTR werden ebenfalls gesetzt.
- Falls eine Rückgabe erfolgt, wende dich an
[email protected]wird gesendet; der MX-Wert für Bounce verweist auf den Server, der die Analyse durchführt. - Die Anwendung liest die Sperrliste und deaktiviert die Adresse bei Hard Bounces.
Weitere Sicherheits- und Betriebshinweise
- Stellen Sie sicher, dass der ausgehende Port 25 auf dem Server geöffnet ist (Hetzner unterliegt manchmal Netzwerkbeschränkungen).
- Um Missbrauch zu verhindern, sollte die Authentifizierung obligatorisch sein; der Server sollte niemals als offenes Relay betrieben werden.
- Senden Sie Protokolle an ein Überwachungssystem (ELK/Graylog), um Sendespitzen oder Fehlerantworten zu analysieren.
- Bei hohem Sendevolumen empfiehlt sich die Verwendung einer dedizierten IP-Adresse und deren schrittweise Aufwärmphase.
Empfohlene Open-Source-Tools für die Automatisierung (kostenlos)
- Postfix (SMTP)
- Taubenschlag (SASL/IMAP)
- OpenDKIM / OpenDMARC
- Rspamd zum Filtern und Bewerten
- fetchmail / getmail zum Abrufen von Bounces
- flanker oder Mail::Delivery::BounceParser zur Bounce-Verarbeitung
- postfwd / policyd für Preisgestaltung und Richtlinien
Link zu den Dienstleistungen des Unternehmens (über 85 Standorte und Dienstleistungen)
Wenn Sie eine Infrastruktur mit umfassendem Netzwerkzugang und vielfältigen Standorten suchen, können Sie die richtigen Dienste nutzen, um das nächstgelegene Rechenzentrum für Ihre Zielgruppe auszuwählen und so die Latenz zu reduzieren und die Zustellbarkeit zu verbessern.
- Mehr als 85 Standorte Eine Welt für die Auswahl von Rechenzentren.
- Hochleistungsfähiger Cloud-Server mit dedizierter IP-Adresse für E-Mail-Marketing und SMTP-Dienste.
- Anti-DDoS-Server, verschiedene VPS und Unterstützung für Netzwerk- und Sicherheitseinstellungen.
Schlusspunkt
Wenn Sie bereit sind, loszulegen, können Sie Cloud-Server-Pakete, dedizierte IP-Adressen sowie DNS- und Sicherheitsmanagementdienste erkunden oder sich für individuelle Konfigurationen, DKIM/DMARC-Implementierung und Bounce-Management an unser technisches Team wenden. Unser Support-Team steht Ihnen mit technischer Beratung und Unterstützung zur Seite.









