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
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 daslibsasl2-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
-
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. -
Ö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.
-
Öffnen Sie die Datei
/etc/postfix/sasl_passwd
in einem Texteditor. Wenn die Datei nicht bereits vorhanden ist, erstellen Sie sie. -
Fügen Sie die folgende Zeile zu
/etc/postfix/sasl_passwd
hinzu:[
email-smtp.us-west-2.amazonaws.com
]:587SMTPUSERNAME
:SMTPPASSWORD
Anmerkung
Ersetzen
SMTPUSERNAME
andSMTPPASSWORD
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
. -
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
-
(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:-
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
-
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
-
-
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'
-
-
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
-
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. Ersetzenrecipient@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. . -
Ü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
-
Erstellen Sie in einem Texteditor eine neue Datei mit dem Namen
mime-email.txt
. -
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.
-
Geben Sie in der Befehlszeile folgenden Befehl ein. Ersetzen
sender@example.com
mit Ihrer E-Mail-Adresse und ersetzenrecipient@example.com
mit der E-Mail-Adresse des Empfängers.sendmail -f
sender@example.com
recipient@example.com
< mime-email.txtWenn der Befehl erfolgreich ausgeführt wird, wird er ohne Ausgabe beendet.
-
Suchen Sie in Ihrem Posteingang nach der E-Mail. Wenn die Nachricht nicht übermittelt wurde, überprüfen Sie das E-Mail-Protokoll Ihres Systems.