Emails für einen IPv6-Server trotz Cloudflare per Uberspace
Wednesday, 29. April 2020
Ich habe gerade diesen Serendipity-Blog auf einen neuen Server umgezogen (dazu später mehr). Das schwierigste war, die Emails wieder zum Laufen zu kriegen. Deshalb muss ich das unbedingt dokumentieren.
Das Setup sieht so aus: Der Server ist die kleinste Cloud-Compute-Instanz bei Vultr. Ich habe mal wieder den Preis optimiert. Sie kann nur IPv6. Nicht ganz so schlimm, denn die Domain wird von Cloudflare verwaltet, was für jeden AAAA-Eintrag direkt einen A-Eintrag bereitstellt, also Zugang per IPv4. Cloudflare aber ist problematisch, um direkt vom Server Emails zu verschicken. Aber dafür ist noch uberspace dabei, das sowieso meine Emails verwaltet und hier als SMTP-Relay dient.
Ich zeige alles im Detail.
uberspace
Uberspace muss die Domain als Email-Domain führen. Das wird in der Anleitung erklärt und ist nur ein auf uberspace per SSH abzusendender Befehl.
Der vordere Teil der Emailadresse muss auch angelegt sein. Bei mir ist das postmaster@...
. So sieht das in der Verwaltungsoberfläche aus:
Beachte, dass jeder Account bei uberspace bei einem von mehreren Servern liegt. In den Konfigurationen unten werde ich den Servernamen immer mit UBERSPACEHOST
ersetzen, damit niemand aus Versehen den meinen verwendet.
Cloudflare
Ich gehe davon aus, dass Cloudflare als DNS-Server eingerichtet ist. Das variiert je nach Hoster, der die Domain gerade verwaltet, aber man sollte da den Nameserver übertragen können.
Für den Webserver zeigt Cloudflare auf die IP des Server. Für die Email zeigt der MX-Eintrag auf den jeweiligen Uberspace-Host und ein TXT-Eintrag aktiviert SPF:
Mehr muss Cloudflare nicht tun, es braucht auch insbesondere und anders als die Dokumentation für Email-Versand rät keinen Nameserver-Eintrag, der ohne Proxy auf die IP zeigt. Denn der Server versendet die Mails ja nicht direkt.
Server/Postfix
Serendipity ist konfiguriert, Emails als postmaster@onli-blogging.de zu senden. Wordpress müsste man genauso einstellen.
Auf dem Server leitet postfix die Emails an uberspace weiter. Das ist im wesentlichen diese Anleitung. Die /etc/postfix/main.cf muss editiert werden:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no compatibility_level = 2 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level=may smtp_tls_CApath=/etc/ssl/certs smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all myorgin = /etc/mailname mydestination = onli-blogging, localhost.localdomain, localhost myhostname = onli-blogging.de relayhost = UBERSPACEHOST.uberspace.de:submission smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
Nur der letzte Abschnitt ist abgeändert. Dort wird der Mailserver und die eigene Domain als Absender gesetzt. In /etc/mailname steht übrigens nur nochmal die Domain:
onli-blogging.de
In /etc/postfix/sasl_password müssen die uberspace-Zugangsdaten angegeben werden. Das ist einfach die Hauptemail und das SSH-Passwort:
UBERSPACEHOST.uberspace.de:submission UBERSPACE_EMAIL:UBERSPACE_PASSWORD
UBERSPACE_EMAIL
könnte beispielsweise xyznutzer@UBERSPACEHOST.uberspace.de
sein. Diese Datei muss noch umgewandelt werden:
postmap /etc/postfix/sasl_password
Jetzt sollten Emails rausgehen und ankommen!
onli blogging am : Scaleway schaltet ARM-Instanzen ab, ich migrierte
Vorschau anzeigen