Integration von Amazon SES mit Postfix - Amazon Simple Email Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Integration von Amazon SES mit Postfix

Postfix ist eine Alternative zum weit verbreiteten Sendmail Message Transfer Agent (). MTA Weitere Informationen zu Postfix finden Sie unter http://www.postfix.org. Die Verfahren in diesem Thema funktionieren mit Linux, macOS, oder Unix.

Anmerkung

Postfix ist eine Drittanbieter-Anwendung und wird von Amazon Web Services nicht entwickelt oder unterstützt. Die Verfahren in diesem Abschnitt dienen ausschließlich zu Informationszwecken und können ohne vorherige Ankündigung geändert werden.

Voraussetzungen

Zum Abschließen der Verfahren in diesem Abschnitt müssen Sie zunächst folgende Aufgaben durchführen:

  • Deinstallieren Sie die Sendmail-Anwendung, wenn sie bereits auf Ihrem System installiert ist. Das Verfahren für die Ausführung dieses Schritts variiert je nach verwendetem Betriebssystem.

    Wichtig

    Die folgenden Verweise auf sendmail beziehen sich auf den Postfix-Befehl sendmail, nicht zu verwechseln mit der Sendmail-Anwendung.

  • Installieren Sie Postfix. Das Verfahren für die Ausführung dieses Schritts variiert je nach verwendetem Betriebssystem.

  • Installieren Sie ein SASL Authentifizierungspaket. Das Verfahren für die Ausführung dieses Schritts variiert je nach verwendetem Betriebssystem. Wenn Sie beispielsweise ein RedHat basiertes System verwenden, sollten Sie das cyrus-sasl-plain Paket installieren. Wenn Sie ein Debian- oder Ubuntu-basiertes System verwenden, sollten Sie das libsasl2-modules-Paket installieren.

  • Überprüfen Sie eine E-Mail-Adresse oder Domäne, die für das Senden von E-Mails verwendet werden soll. Weitere Informationen finden Sie unter Erstellen einer E-Mail-Adressidentität.

  • Wenn sich Ihr Konto noch in der Sandbox befindet, können Sie nur E-Mails an verifizierte E-Mail-Adressen senden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der SES Amazon-Sandbox).

Konfigurieren von Postfix

Gehen Sie wie folgt vor, um Ihren Mail-Server für den Versand von E-Mails über Amazon SES mit Postfix zu konfigurieren.

So konfigurieren Sie Postfix
  1. Geben Sie in der Befehlszeile folgenden Befehl ein:

    sudo postconf -e "relayhost = [email-smtp.us-west-2.amazonaws.com]:587" \ "smtp_sasl_auth_enable = yes" \ "smtp_sasl_security_options = noanonymous" \ "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \ "smtp_use_tls = yes" \ "smtp_tls_security_level = secure" \ "smtp_tls_note_starttls_offer = yes"
    Anmerkung

    Wenn Sie Amazon SES in einer anderen AWS Region als USA West (Oregon) verwenden, ersetzen Sie email-smtp.us-west-2.amazonaws.com im vorherigen Befehl durch den SMTP Endpunkt der entsprechenden Region. Weitere Informationen finden Sie unter Regionen und Amazon SES.

  2. Öffnen Sie die Datei /etc/postfix/master.cf in einem Texteditor. Suchen Sie den folgenden Eintrag:

    -o smtp_fallback_relay=

    Wenn Sie diesen Eintrag suchen, kommentieren Sie ihn aus, indem Sie ein # (Hash)-Zeichen an den Anfang der Zeile setzen. Speichern und schließen Sie die Datei.

    Wenn dieser Eintrag nicht vorhanden ist, fahren Sie mit dem nächsten Schritt fort.

  3. Öffnen Sie die Datei /etc/postfix/sasl_passwd in einem Texteditor. Wenn die Datei nicht bereits vorhanden ist, erstellen Sie sie.

  4. Fügen Sie die folgende Zeile zu /etc/postfix/sasl_passwd hinzu:

    [email-smtp.us-west-2.amazonaws.com]:587 SMTPUSERNAME:SMTPPASSWORD
    Anmerkung

    Ersetzen SMTPUSERNAME and SMTPPASSWORD mit Ihren SMTP Anmeldedaten. Ihre SMTP Anmeldedaten sind nicht identisch mit Ihrer AWS Zugangsschlüssel-ID und Ihrem geheimen Zugriffsschlüssel. Weitere Informationen zu Anmeldeinformationen finden Sie unter Abrufen von SES SMTP Amazon-Anmeldeinformationen.

    Wenn Sie Amazon SES in einer anderen AWS Region als USA West (Oregon) verwenden, ersetzen Sie email-smtp.us-west-2.amazonaws.com im vorherigen Beispiel durch den SMTP Endpunkt der entsprechenden Region. Weitere Informationen finden Sie unter Regionen und Amazon SES.

    Speichern und schließen Sie sasl_passwd.

  5. Geben Sie an der Befehlszeile den folgenden Befehl ein, um eine Hashmap-Datenbankdatei mit Ihren SMTP Anmeldeinformationen zu erstellen:

    sudo postmap hash:/etc/postfix/sasl_passwd
  6. (Optional) Die Dateien /etc/postfix/sasl_passwd und /etc/postfix/sasl_passwd.db, die Sie in den vorherigen Schritten erstellt haben, sind nicht verschlüsselt. Da diese Dateien Ihre SMTP Anmeldeinformationen enthalten, empfehlen wir Ihnen, den Besitz und die Berechtigungen der Dateien zu ändern, um den Zugriff darauf einzuschränken. So beschränken Sie den Zugriff auf diese Dateien:

    1. Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein, um die Eigentümerschaft der Dateien zu ändern:

      sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
    2. Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein, um die Berechtigungen der Datei zu ändern, sodass nur der Root-Benutzer Lese- oder Schreiboperationen dafür ausführen kann:

      sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
  7. Teilen Sie Postfix mit, wo sich das CA-Zertifikat befindet (zur Überprüfung des SES Amazon-Serverzertifikats erforderlich). Der Befehl in diesem Schritt variiert je nach Betriebssystem.

    • Wenn Sie Amazon Linux, Red Hat Enterprise Linux oder eine ähnliche Verteilung verwenden, geben Sie den folgenden Befehl ein:

      sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
    • Wenn Sie Ubuntu oder eine ähnliche Verteilung verwenden, geben Sie den folgenden Befehl ein:

      sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
    • Wenn Sie macOS verwenden, können Sie das Zertifikat aus Ihrer System-Schlüsselkette generieren. Um das Zertifikat zu generieren, geben Sie den folgenden Befehl in der Befehlszeile ein:

      sudo security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain > /etc/ssl/certs/ca-bundle.crt

      Nachdem Sie den Zertifikattyp generiert haben, geben Sie den folgenden Befehl ein:

      sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
  8. Geben Sie den folgenden Befehl ein, um den Postfix-Server zu starten (oder die Konfigurationseinstellungen neu zu laden, wenn der Server bereits ausgeführt wird):

    sudo postfix start; sudo postfix reload
  9. Senden Sie eine Test-E-Mail, indem Sie den folgenden Befehl in die Befehlszeile eingeben und nach jeder Zeile die Eingabetaste drücken. Ersetzen sender@example.com mit Ihrer Absender-E-Mail-Adresse. Die Absenderadresse muss für die Verwendung mit Amazon verifiziert werdenSES. Ersetzen recipient@example.com mit der Zieladresse. Wenn sich Ihr Konto noch in der Sandbox befindet, muss auch die Empfängeradresse verifiziert werden. Außerdem muss die letzte Zeile der Nachricht einen einzelnen Punkt (.) ohne andere Inhalte enthalten.

    sendmail -f sender@example.com recipient@example.com From: Sender Name <sender@example.com> Subject: Amazon SES Test This message was sent using Amazon SES. .
  10. Überprüfen Sie das Postfach, das mit der Empfängeradresse verknüpft ist. Wenn die E-Mail nicht eintrifft, überprüfen Sie Ihren Spam-Ordner. Wenn Sie die E-Mail immer noch nicht finden können, überprüfen Sie das Mail-Protokoll auf dem System, das Sie zum Senden der E-Mail verwendet haben (in der Regel unter /var/log/maillog zu finden), um weitere Informationen zu erhalten.

Beispiel für die erweiterte Nutzung

Dieses Beispiel zeigt, wie eine E-Mail gesendet wird, die einen Konfigurationssatz verwendet und die MIME -multipart-Kodierung verwendet, um sowohl einen Klartext als auch eine HTML Version der Nachricht zusammen mit einem Anhang zu senden. Sie beinhaltet auch einen Link-Tag, der für die Kategorisierung von Klickereignissen verwendet werden kann. Der Inhalt der E-Mail wird in einer externen Datei angegeben, sodass Sie die Befehle in der Postfix-Sitzung nicht manuell eingeben müssen.

Um eine mehrteilige MIME E-Mail mit Postfix zu versenden
  1. Erstellen Sie in einem Texteditor eine neue Datei mit dem Namen mime-email.txt.

  2. Fügen Sie in der Textdatei den folgenden Inhalt ein und ersetzen Sie dabei die roten Werte durch die entsprechenden Werte für Ihr Konto:

    X-SES-CONFIGURATION-SET: ConfigSet From:Sender Name <sender@example.com> Subject:Amazon SES Test MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="YWVhZDFlY2QzMGQ2N2U0YTZmODU" --YWVhZDFlY2QzMGQ2N2U0YTZmODU Content-Type: multipart/alternative; boundary="3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ" --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Amazon SES Test This message was sent from Amazon SES using the SMTP interface. For more information, see: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html> <head> </head> <body> <h1>Amazon SES Test</h1> <p>This message was sent from Amazon SES using the SMTP interface.</p> <p>For more information, see <a ses:tags="samplekey0:samplevalue0;samplekey1:samplevalue1;" href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html"> Using the Amazon SES SMTP Interface to Send Email</a> in the <em>Amazon SES Developer Guide</em>.</p> </body> </html> --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ-- --YWVhZDFlY2QzMGQ2N2U0YTZmODU Content-Type: application/octet-stream MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="customers.txt" SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENh bmFkYQo5MjM4OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixV bml0ZWQgU3RhdGVzCjI4OTMsQW5heWEsSXllbmdhcixJbmRpYQ== --YWVhZDFlY2QzMGQ2N2U0YTZmODU--

    Speichern und schließen Sie die Datei.

  3. Geben Sie in der Befehlszeile folgenden Befehl ein. Ersetzen sender@example.com mit Ihrer E-Mail-Adresse und ersetzen recipient@example.com mit der E-Mail-Adresse des Empfängers.

    sendmail -f sender@example.com recipient@example.com < mime-email.txt

    Wenn der Befehl erfolgreich ausgeführt wird, wird er ohne Ausgabe beendet.

  4. Suchen Sie in Ihrem Posteingang nach der E-Mail. Wenn die Nachricht nicht übermittelt wurde, überprüfen Sie das E-Mail-Protokoll Ihres Systems.