In Zeiten wo die Virtualisierung und Container immer mehr Einzug nehmen, steigt der Anspruch von Mailversand für die Automatisierung. Wie oft wünscht man sich da eine einfache Lösung für den Mailversand mit Postfix. Wir kennen das Problem, dass Mails von Absendern wie: root@ubuntu1.local / admin@testserver1.local von vielen Mailservern nicht angenommen werden. Dabei geht es ja nicht im den Versand von Mails von Person zu Person, eher von Maschine zu Maschine, oder Maschine zu Sysadmin.
Die Tage bin ich auf einen Service aufmerksam geworden unter https://de.sendinblue.com. Eigentlich ist der Service für E-Mail Marketing gedacht, nur der kann für unseren Zweck sehr einfach genutzt werden, da 300 Mails pro Tag kostenfrei sind. Wenn man 10 oder 20 Server mit Container oder Virtualisierung unter Proxmox am laufen hat, sind da die 300 Mails vollkommen ausreichend als Mail Relay. In diesem Artikel geht es nur um den Versand von E-Mails, nicht um den Empfang von Mails an einen Deiner Server.
Darüber hinaus ist die Einrichtung mit Postfix ein Kinderspiel, da die Konfiguration vom Provider schlüsselfertig geliefert wird. Die Lösung ist so einfach, dass die jeder einrichten kann, ohne viel Kenntnisse über Postfix besitzen zu müssen. Man denke nur an die komplexe „master.cf“ oder „main.cf“ im /etc/postfix Verzeichnis. Hinzu kommt noch Aliases erstellen für virtuelle Accounts usw. Die Konfiguration kann auf viele Server einfach kopiert werden. Es entfallen die ganzen speziellen Konfigurationen für jeden einzelnen Server. Dh. einfach die main.cf auf jeden Server kopieren, der mit Postfix ausgestattet ist. Postfix neu starten, fertig.
Anmeldung
Die Anmeldung für einen Account auf der Webseite de.sendinblue.com ist relativ einfach, aber sie sollte plausibel sein, wie zb. als Ort München mit einer gültigen Postleitzahl und dann natürlich keine Telefonnummer von Berlin. Das führt leider dazu, dass der Account sich nicht automatisch freischaltet und ihr den Service kontaktieren müsst. Auch sollten keine Wegwerfmail/ Firefox Relay Mailadressen genutzt werden. Die sind nur mit zusätzlichen Aufwand freizuschalten, was wir ja nicht wollen oder doch?
Also seid da etwas kreativ und lasst euch nicht gleich entmutigen wenn es nicht sofort funktioniert.
Nun kommen wir zur Einrichtung
Wenn der Account registiert wurde, kommt eine Bestätigungsmail an die angegebene Mailadresse. Nun kommt der Teil der etwas kreativ beantwortet werden sollte 🙂
Bei erfolgreicher Anmeldung und Registrierung sollte das Dashboard ersichtlich sein.
Aufruf der Konfiguration
https://app-smtp.sendinblue.com/real-time auf „Transaktional“ klicken, dort findet man das Postfix Konfigurationsbeispiel.
ACHTUNG Hinweis: Wenn nach der Überprüfung die Bestätigung „Es funktioniert“ angeklickt wird, ist die Seite nicht mehr aufrufbar. Deshalb die Konfiguration unbedingt lokal abspeichern vor dem anklicken „Es funktioniert“ !
Installation Postfix
Die Installation ist nur examplarisch für Ubuntu 20.04. Für die eingesetzte Linux Distribution müssen entsprechend die Module angepasst werden.
sudo apt install mailutils ibsasl2-modules sasl2-bin
Falls der Postfix schon installiert ist, kann man mit folgenden Befehl die Konfiguration nochmals ändern:
sudo dpkg-reconfigure postfix
Nun editiere die Datei „/etc/postfix/main.cf“
# See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = ubuntu21.localdomain, localhost.localdomain, localhost mynetworks = 127.0.0.0/8 inet_interfaces = all recipient_delimiter = + compatibility_level = 2 myorigin = /etc/mailname mailbox_size_limit = 0 inet_protocols = all smtp_sasl_auth_enable = yes smtp_sasl_password_maps = static:info@DeineDomain.de:1233443535345 smtp_sasl_security_options = noanonymous smtp_tls_security_level = may header_size_limit = 4096000 relayhost = smtp-relay.sendinblue.com:587
Im Anschluß den Postfix neu starten, damit die geänderte Konfigurationsdatei neu eingelesen wird.
Nun eine Testmail versenden an eine beliebige Mailempfängeradresse:
echo "this is a test email." | mailx -s Testmail info@DeineDomain.de echo "this is a test mail." | mailx -s Google_Test_Mail benutzer@gmail.com
Wenn die Mail erfolgreich zugestellt wurde, kann im Dashboard „https://app-smtp.sendinblue.com/real-time“ der Bestätigung „Es funktioniert“ Knopf angeklickt werden. ACHTUNG: Ab sofort ist das Dashboard mit der Beispielkonfiguration nicht mehr aufrufbar.
Wenn die Mail angekommen ist, sehen die Mails entsprechend wie abgebildet aus, wenn „root“ diese gesendet hat:
Mit dem Echtzeit Dashboard kann nun der Versand der E-Mails überprüft werden. Wenn es bis dahin geklappt hat, kann man davon ausgehen das alles funktioniert und richtig konfiguriert wurde. Nun kann die „main.cf“ einfach auf andere Server verteilt werden und schon ist der Mailversand eingerichtet.
Viel Spaß bei der Einrichtung und Automatisierung von Mail-Relay Konfiguration für Postfix. Bei Fragen wie immer die Kommentarfunktion nutzen.
Beste Grüße , Joachim