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 Sendmail
Sendmail wurde in den frühen 80er-Jahren veröffentlicht und seitdem kontinuierlich verbessert. Es ist ein flexibler und konfigurierbarer Nachrichtenübertragungsagent (MTA) mit einer großen Benutzergemeinschaft. Sendmail wurde im Jahr 2013 von Proofpoint übernommen, Proofpoint bietet aber weiterhin eine Open-Source-Version von Sendmail an. Sie können die Open Source-Version von Sendmail
Das Verfahren in diesem Abschnitt zeigt Ihnen, wie Sie Sendmail für den Versand von E-Mails über Amazon konfigurieren. SES Dieses Verfahren wurde auf einem Server mit Ubuntu 18.04.2 getestet. LTS
Anmerkung
Sendmail 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
Bevor Sie das Verfahren in diesem Abschnitt ausführen, sollten Sie die folgenden Schritte ausführen:
-
Installieren Sie das Sendmail-Paket auf Ihrem Server.
Anmerkung
Je nachdem, welches Betriebssystem Sie verwenden, müssen Sie möglicherweise auch die folgenden Pakete installieren:
sendmail-cf
,m4
undcyrus-sasl-plain
. -
Überprüfen Sie die als „Von“-Adresse zu verwendende Identität. Weitere Informationen finden Sie unter Erstellen einer E-Mail-Adressidentität.
Wenn sich Ihr Konto in der SES Amazon-Sandbox befindet, müssen Sie auch die Adressen überprüfen, an die Sie E-Mails senden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der SES Amazon-Sandbox).
Wenn Sie Amazon verwendenSES, um E-Mails von einer EC2 Amazon-Instance aus zu senden, sollten Sie auch die folgenden Schritte ausführen:
-
Möglicherweise müssen Sie Ihrer EC2 Amazon-Instance eine Elastic IP-Adresse zuweisen, damit die empfangenden E-Mail-Anbieter Ihre E-Mail akzeptieren können. Weitere Informationen finden Sie unter Amazon EC2 Elastic IP-Adressen im EC2Amazon-Benutzerhandbuch.
-
Amazon Elastic Compute Cloud (AmazonEC2) schränkt den E-Mail-Verkehr über Port 25 standardmäßig ein. Um Timeouts beim Senden von E-Mails über den SMTP Endpunkt von Amazon zu vermeidenEC2, können Sie beantragen, dass diese Einschränkungen aufgehoben werden. Weitere Informationen finden Sie unter Wie entferne ich die Beschränkung für Port 25 aus meiner EC2 Amazon-Instance oder AWS Lambda -Funktion?
im AWS Knowledge Center. Alternativ können Sie das Verfahren in diesem Abschnitt ändern, um Port 587 anstelle von Port 25 zu verwenden.
Konfigurieren von Sendmail
Gehen Sie wie in diesem Abschnitt beschrieben vor, um Sendmail für das Senden von E-Mails über Amazon zu konfigurieren. SES
Wichtig
Bei dem Verfahren in diesem Abschnitt wird davon ausgegangen, dass Sie Amazon SES im Westen der USA (Oregon) verwenden möchten AWS-Region. Wenn Sie eine andere Region verwenden möchten, ersetzen Sie in diesem Verfahren alle Instanzen von email-smtp.us-west-2.amazonaws.com durch den SMTP Endpunkt der gewünschten Region. Eine Liste der SMTP Endpunkte, URLs auf AWS-Regionen denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.
So konfigurieren Sie Sendmail:
-
Öffnen Sie in einem Datei-Editor die Datei
/etc/mail/authinfo
. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.Fügen Sie die folgende Zeile zu/hinzuetc/mail/authinfo:
AuthInfo:
email-smtp.us-west-2.amazonaws.com
"U:root" "I:smtpUsername
" "P:smtpPassword
" "M:PLAIN"Nehmen Sie im vorherigen Beispiel Sie die folgenden Änderungen vor:
-
Ersetzen
email-smtp.us-west-2.amazonaws.com
mit dem SES SMTP Amazon-Endpunkt, den Sie verwenden möchten. -
Ersetzen
smtpUsername
mit Ihrem SES SMTP Amazon-Benutzernamen. -
Ersetzen
smtpPassword
mit Ihrem SES SMTP Amazon-Passwort.
Anmerkung
Ihre SMTP Anmeldedaten unterscheiden sich von Ihrer AWS Zugangsschlüssel-ID und Ihrem geheimen Zugriffsschlüssel. Weitere Informationen zum Abrufen Ihrer SMTP Anmeldedaten finden Sie unter. Abrufen von SES SMTP Amazon-Anmeldeinformationen
Wenn Sie fertig sind, speichern Sie
authinfo
. -
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um die
/etc/mail/authinfo.db
-Datei zu erstellen:sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um Unterstützung für die Weiterleitung an den SES SMTP Amazon-Endpunkt hinzuzufügen.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'Ersetzen Sie im vorherigen Befehl
email-smtp.us-west-2.amazonaws.com
mit der Adresse des SES SMTP Amazon-Endpunkts, den Sie verwenden möchten. -
Geben Sie in der Befehlszeile den folgenden Befehl ein, um/etc/mail/access.db neu zu generieren:
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um Sicherungskopien der Dateien
sendmail.cf
undsendmail.mc
zu erstellen:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
Fügen Sie der Datei/etc/mail/sendmail.mc vor allen Definitionen die folgenden Zeilen hinzu.
MAILER()
define(`SMART_HOST', `
email-smtp.us-west-2.amazonaws.com
')dnl define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl MASQUERADE_AS(`example.com
')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnlGehen Sie im vorhergehenden Text wie folgt vor.
-
Ersetzen
email-smtp.us-west-2.amazonaws.com
mit dem SES SMTP Amazon-Endpunkt, den Sie verwenden möchten. -
Ersetzen
example.com
mit der Domain, die Sie zum Senden von E-Mails verwenden möchten.
Wenn Sie fertig sind, speichern Sie die Datei.
Anmerkung
Amazon EC2 schränkt standardmäßig die Kommunikation über Port 25 ein. Wenn Sie Sendmail in einer EC2 Amazon-Instance verwenden, sollten Sie die Anfrage zur Aufhebung der Einschränkungen beim Senden von E-Mails
abschließen. -
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um sendmail.cf schreibfähig zu machen:
sudo chmod 666 /etc/mail/sendmail.cf
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um sendmail.cf erneut zu generieren:
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
Anmerkung
Wenn Fehler, wie „Command not found (Befehl nicht gefunden“ und „No such file or directory (Verzeichnis nicht vorhanden)“ auftreten, stellen Sie sicher, dass die Pakete
m4
undsendmail-cf
auf Ihrem System installiert sind. -
Geben Sie in der Befehlszeile den folgenden Befehl ein, um die Berechtigungen von sendmail.cf auf „schreibgeschützt“ zurückzusetzen:
sudo chmod 644 /etc/mail/sendmail.cf
-
Geben Sie in der Befehlszeile den folgenden Befehl ein, um Sendmail neu zu starten:
sudo /etc/init.d/sendmail restart
Versuchen Sie je nach der Version von Linux oder Sendmail Folgendes, wenn das oben genannte nicht funktioniert:
sudo su service sendmail restart
-
Führen Sie die folgenden Schritte aus, um eine Test-E-Mail-Nachricht zu senden:
-
Geben Sie in der Befehlszeile den folgenden Befehl ein:
/usr/sbin/sendmail -vf
sender@example.com
recipient@example.com
Ersetzen
sender@example.com
mit Ihrer Absender-E-Mail-Adresse. Ersetzenrecipient@example.com
mit der Absenderadresse. Wenn Sie fertig sind, betätigen Sie Enter. -
Geben Sie den folgenden Nachrichteninhalt ein. Betätigen Sie nach jeder Zeile Enter.
From:
sender@example.com
To:recipient@example.com
Subject: Amazon SES test email This is a test message sent from Amazon SES using Sendmail.Wenn Sie den Inhalt der E-Mail-Nachricht eingegeben haben, betätigen Sie Ctrl+D, um sie zu senden.
-
-
Überprüfen Sie den E-Mail-Client des Empfängers auf die E-Mail-Nachricht. Wenn Sie die E-Mail-Nachricht nicht finden können, überprüfen Sie den Spam-Ordner. Wenn Sie die E-Mail-Nachricht immer noch nicht finden können, überprüfen Sie das Sendmail-Protokoll auf Ihrem E-Mail-Server. Das Protokoll befindet sich häufig unter/var/log/mail.log oder/var/log/maillog.