Google Cloud ist mit Mailgun kompatibel, wodurch Sie von einem E-Mail-Dienst mit einer programmatischen API, Logaufbewahrung, E-Mail-Personalisierung, Analysen und E-Mail-Validierung profitieren.
Die folgende Anleitung zeigt, wie Sie Mailgun als E-Mail-Relay mit Postfix konfigurieren.
Vorbereitung
Registrieren Sie sich in Google Cloud Marketplace für ein neues Mailgun-Konto.
Rufen Sie Ihre Anmeldedaten ab. Sie benötigen Ihren SMTP-Nutzernamen, Ihr Passwort und Ihren Hostnamen für Mailgun. Ihren Nutzernamen und Ihr Passwort erhalten Sie im Steuerfeld von Mailgun im Abschnitt Domains.
Je nach Konfiguration der Domain in Mailgun lautet der SMTP-Hostname entweder
smtp.mailgun.orgodersmtp.eu.mailgun.org.Konfigurieren Sie Ihre Firewallregeln so, dass ausgehender Traffic über TCP-Port
2525zugelassen wird.
Mailgun als E-Mail-Relais mit Postfix konfigurieren
Wenn Sie Mailgun als E-Mail-Relais konfigurieren, kann der E-Mail-Übertragungs-Agent Postfix E-Mails für die Remote-Übermittlung weiterleiten.
Stellen Sie eine SSH-Verbindung zur Instanz her.
gcloud compute ssh [INSTANCE_NAME]Dabei ist
[INSTANCE_NAME]der Name der VM-Instanz, von der aus Sie E-Mails senden möchten.Werden Sie Superuser und legen Sie mit "umask" einen sicheren Zugriff fest:
user@test-instance:~$ sudo su -root@test-instance:~# umask 077Installieren Sie den Postfix Mail Transport Agent.
Debian
root@test-instance:~# apt update && apt -y install postfix libsasl2-modulesCentOS
root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -yWählen Sie bei der entsprechenden Aufforderung die Konfiguration
Local Onlyaus und übernehmen Sie die Standardauswahl für Domainnamen.Ändern Sie die Postfix-Konfigurationsoptionen. Die Postfix-Konfigurationsoptionen werden in der Datei
main.cffestgelegt. Öffnen Sie die Datei in einem beliebigen Texteditor:root@test-instance:~# vi /etc/postfix/main.cfKommentieren Sie gegebenenfalls die folgenden Zeilen aus.
# default_transport = error # relay_transport = errorFügen Sie den SMTP-Dienst für Mailgun mit folgender Zeile am Ende der Datei hinzu:
relayhost = [smtp.mailgun.org]:2525Fügen Sie am Ende der Datei die folgenden Zeilen hinzu, um die SSL/TLS-Unterstützung zu erzwingen und die SMTP-Authentifizierung für diese Anfragen zu konfigurieren. Die Authentifizierung in der Postfix-Konfiguration wird von einem SASL-Modul (Simple Authentication and Security Layer) verarbeitet.
smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymousSpeichern Sie die Änderungen und schließen Sie die Datei.
Generieren Sie die SASL-Passwortzuordnung:
Erstellen Sie eine neue Passwortdatei, die für die Standardeingabe bereit ist.
root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOFGeben Sie die Dienstdetails an der Eingabeaufforderung ein und ersetzen Sie
YOUR_SMTP_LOGINundYOUR_SMTP_PASSWORDdurch Ihre Anmeldedaten. Wie Sie Ihre domainspezifischen Anmeldedaten aufrufen oder ändern können, erfahren Sie in der Mailgun-Hilfe.> [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORDSchließen und speichern Sie die Datei durch die Eingabe des Trennzeichens
EOF.> EOF
Verwenden Sie das Dienstprogramm
postmapzur Generierung einer.db-Datei.root@test-instance:~# postmap /etc/postfix/sasl_passwdroot@test-instance:~# ls -l /etc/postfix/sasl_passwd* -rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
Entfernen Sie als Nächstes die Datei mit Ihren Anmeldedaten, da sie nicht mehr benötigt wird.
root@test-instance:~# rm /etc/postfix/sasl_passwdLegen Sie die Berechtigungen für die
.db-Datei fest.root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.dbroot@test-instance:~# ls -la /etc/postfix/sasl_passwd.db -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
Laden Sie die Konfiguration abschließend neu, um die geänderten Parameter zu laden:
Debian
root@test-wheezy:~# /etc/init.d/postfix restartCentOS
[root@test-centos ~]# postfix reloadTesten Sie die Konfiguration. Installieren Sie das Paket
mailxodermailutilsund testen Sie die Konfiguration.Debian
root@test-wheezy:~# apt -y install mailutilsCentOS
[root@test-centos ~]# yum install mailx -ySenden Sie eine Testnachricht:
root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COMSuchen Sie in den Systemlogs nach einer Statuszeile, die
statusund den Code für eine erfolgreiche Serverantwort(250)enthält.Debian
root@test-wheezy:~# tail -n 5 /var/log/syslogCentOS
[root@test-centos ~]# tail -n 5 /var/log/maillog
Ausführliche Beispiele und Informationen zu anderen Themen, z. B. dem Erfassen und Weiterleiten von Nachrichten, finden Sie in der Mailgun-Dokumentation.
Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center