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.
Sendmail wurde in den frühen 80er-Jahren veröffentlicht und seitdem kontinuierlich verbessert. Es handelt sich dabei um einen flexiblen und konfigurierbaren Message Transfer Agent (MTA) mit einer großen Nutzer-Community. 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
In Anleitung in diesem Abschnitt erfahren Sie, wie Sie Sendmail so konfigurieren, dass E-Mail-Nachrichten über Amazon SES gesendet werden. Dieses Verfahren wurde auf einem Server mit Ubuntu 18.04.2 LTS getestet.
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 Ihr Konto sich noch in der Amazon-SES-Sandbox befindet, müssen Sie auch die Adressen verifizieren, an die Sie E-Mail-Nachrichten senden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der Amazon SES SES-Sandbox).
Wenn Sie Amazon SES verwenden, 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 EC2 Amazon-Benutzerhandbuch.
-
Amazon Elastic Compute Cloud (Amazon EC2) 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 vermeiden EC2, 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
Führen Sie die Schritte in diesem Abschnitt zum Konfigurieren von Sendmail für das Senden von E-Mail-Nachrichten mithilfe von Amazon SES aus.
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 alle Instances von email-smtp.us-west-2.amazonaws.com in diesem Verfahren durch den SMTP-Endpunkt der gewünschten Region. Eine Liste der SMTP-Endpunkte URLs , auf AWS-Regionen denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) 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/etc/mail/authinfohinzu:
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:
-
email-smtp.us-west-2.amazonaws.com
Ersetzen Sie durch den Amazon SES SMTP-Endpunkt, den Sie verwenden möchten. -
smtpUsername
Ersetzen Sie es durch Ihren Amazon SES SMTP-Benutzernamen. -
smtpPassword
Ersetzen Sie es durch Ihr Amazon SES SMTP-Passwort.
Anmerkung
Ihre SMTP-Anmeldedaten unterscheiden sich von Ihrer AWS Access Key-ID und Ihrem Secret Access Key. Weitere Informationen zum Abrufen Ihrer SMTP-Anmeldeinformationen finden Sie unter Abrufen Ihrer Amazon-SES-SMTP-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 die Unterstützung für die Weiterleitung an den Amazon-SES-SMTP-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
durch die Adresse des Amazon SES SES-SMTP-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.
-
email-smtp.us-west-2.amazonaws.com
Ersetzen Sie durch den Amazon SES SMTP-Endpunkt, den Sie verwenden möchten. -
example.com
Ersetzen Sie es durch die 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 Sie es
sender@example.com
durch Ihre Absender-E-Mail-Adresse.recipient@example.com
Ersetzen Sie es durch die Empfängeradresse. 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.