E-Mails mit Mailgun senden

Mailgun ist ein E-Mail-Dienst eines Drittanbieters, der Nutzern von Compute Engine monatlich bis zu 10.000 kostenlose E-Mails bietet. Darüber hinaus erhalten Sie mit Mailgun eine programmatische API, eine Log-Aufbewahrung, eine E-Mail-Personalisierung, Analysen, E-Mail-Überprüfungen und mehr.

Folgen Sie dieser Anleitung, um sich für die Nutzung von Mailgun anzumelden.

Vorbereitung

  1. Erstellen Sie in Mailgun auf der Seite für Google-Partner* ein Mailgun-Konto. Als Nutzer von Compute Engine sind Ihre ersten 30.000 Nachrichten pro Monat kostenlos. Preise für zusätzliche Nachrichten und Mengenrabatte erhalten Sie im Preisrechner von Mailgun.

  2. 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.

    Der SMTP-Hostname für Mailgun lautet smtp.mailgun.org.

  3. Konfigurieren Sie Ihre Firewallregeln so, dass ausgehender Traffic über TCP-Port 2525 zugelassen wird.

* Google erhält eine Vergütung für Kunden, die sich für ein kostenpflichtiges Konto registrieren.

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.

  1. 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.

  2. Werden Sie Superuser und legen Sie mit "umask" einen sicheren Zugriff fest:

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Installieren Sie den Postfix Mail Transport Agent. Akzeptieren Sie die Standardauswahl für Domainnamen, wenn Sie dazu aufgefordert werden, aber wählen Sie die Konfiguration Local Only aus.

    Debian


    root@test-instance:~# apt-get update && apt-get install postfix libsasl2-modules -y
    

    CentOS


    root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
    

  4. Ändern Sie die Postfix-Konfigurationsoptionen. Postfix-Konfigurationsoptionen werden in der Datei main.cf festgelegt. Öffnen Sie die Datei in einem beliebigen Texteditor:

    root@test-instance:~# vi /etc/postfix/main.cf
    
  5. Kommentieren Sie gegebenenfalls die folgenden Zeilen aus.

    # default_transport = error
    # relay_transport = error
    
  6. Fügen Sie den SMTP-Dienst für Mailgun mit folgender Zeile am Ende der Datei hinzu:

    relayhost = [smtp.mailgun.org]:2525
    
  7. Fügen Sie als Nächstes 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. Fügen Sie diese Zeilen am Ende der Datei hinzu:

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    

    Speichern Sie die Änderungen und schließen Sie die Datei.

  8. Generieren Sie die SASL-Passwortzuordnung:

    1. Erstellen Sie eine neue Passwortdatei, die für die Standardeingabe bereit ist.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. Geben Sie die Dienstdetails an der Eingabeaufforderung ein und ersetzen Sie YOUR_SMTP_LOGIN und YOUR_SMTP_PASSWORD durch Ihre Anmeldedaten.

      > [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
      
    3. Schließen und speichern Sie die Datei durch die Eingabe des Trennzeichens EOF.

      > EOF
      
  9. Generieren Sie mit dem Dienstprogramm postmap eine .db-Datei:

    root@test-instance:~# postmap /etc/postfix/sasl_passwd
    
    root@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
    
  10. Entfernen Sie dann die Datei, die Ihre Anmeldedaten enthält, da sie nicht mehr benötigt wird:

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  11. Legen Sie die Berechtigungen für die .db-Datei fest:

    root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
    
    root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db
    
    -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
    
  12. Laden Sie die Konfiguration abschließend neu, um die geänderten Parameter zu laden:

    Debian


    root@test-wheezy:~# /etc/init.d/postfix restart
    

    CentOS


    [root@test-centos ~]# postfix reload
    

  13. Testen Sie die Konfiguration. Installieren Sie das Paket mailx oder mailutils und testen Sie die Konfiguration.

    Debian


    root@test-wheezy:~# apt-get install mailutils -y
    

    CentOS


    [root@test-centos ~]# yum install mailx -y
    

    Senden Sie eine Testnachricht:

    root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COM
    

    Suchen Sie in den System-Logs nach einer Statuszeile, die status und den Code für eine erfolgreiche Serverantwort (250) enthält:

    Debian


    root@test-wheezy:~# tail -n 5 /var/log/syslog
    

    CentOS


    [root@test-centos ~]# tail -n 5 /var/log/maillog
    

Ausführlichere Beispiele und Informationen zu zahlreichen weiteren Themen wie dem Verfolgen und Weiterleiten von Nachrichten finden Sie in der Mailgun-Dokumentation.

SMTP-Einstellungen für Mailgun

Hier finden Sie eine Kurzanleitung zu den speziellen SMTP-Einstellungen für Mailgun, mit denen Sie Clients konfigurieren:

  • Host: smtp.mailgun.org
  • Port: 2525

Weitere Google Cloud Platform-Features testen: Anleitungen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation