Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Intégrer Amazon SES à Postfix
Postfix est une alternative au très répandu agent de transfert de messages Sendmail ()MTA. Pour en savoir plus sur Postfix, consultez http://www.postfix.org
Note
Postfix est une application tierce qui n'est ni développée ni prise en charge par Amazon Web Services. Les procédures décrites dans cette section sont fournies à titre informatif seulement et peuvent être modifiées sans préavis.
Prérequis
Avant d'exécuter les procédures fournies dans cette section, vous devez effectuer les tâches suivantes :
-
Désinstallez l'application Sendmail si elle est installée sur votre système. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez.
Important
Les références à sendmail suivantes sont liées à la commande Postfix
sendmail
et non à l’application Sendmail. -
Installez Postfix. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez.
-
Installez un package SASL d'authentification. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez. Par exemple, si vous utilisez un système RedHat basé, vous devez installer le
cyrus-sasl-plain
package. Si vous utilisez un système basé sur Debian ou Ubuntu, vous devez installer le packagelibsasl2-modules
. -
Vérifiez l'adresse e-mail ou le domaine que vous utiliserez pour envoyer les e-mails. Pour plus d'informations, consultez Création d'une identité d'adresse e-mail.
-
Si votre compte est toujours dans l'environnement de test (sandbox), vous ne pouvez envoyer des e-mails qu'aux adresses e-mail vérifiées. Pour plus d'informations, consultez Demande d'accès à la production (sortie du SES sandbox Amazon).
Configuration de Postfix
Suivez les procédures suivantes pour configurer votre serveur de messagerie afin qu'il envoie des e-mails via Amazon à SES l'aide de Postfix.
Pour configurer Postfix
-
Sur la ligne de commande, entrez la commande suivante :
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"Note
Si vous utilisez Amazon SES dans une AWS région autre que l'ouest des États-Unis (Oregon), remplacez
email-smtp.us-west-2.amazonaws.com
dans la commande précédente avec le SMTP point de terminaison de la région appropriée. Pour de plus amples informations, veuillez consulter Régions et Amazon SES. -
Ouvrez le fichier
/etc/postfix/master.cf
dans un éditeur de texte. Recherchez l'entrée suivante :-o smtp_fallback_relay=
Si vous recherchez cette entrée, placez-la en commentaire en insérant un caractère
#
(dièse) en début de ligne. Enregistrez et fermez le fichier .Si cette entrée n'est pas présente, passez à l'étape suivante.
-
Ouvrez le fichier
/etc/postfix/sasl_passwd
dans un éditeur de texte. Si le fichier n'existe pas déjà, créez-le. -
Ajoutez la ligne suivante à
/etc/postfix/sasl_passwd
:[
email-smtp.us-west-2.amazonaws.com
]:587SMTPUSERNAME
:SMTPPASSWORD
Note
Remplacez
SMTPUSERNAME
andSMTPPASSWORD
avec vos identifiants SMTP de connexion. Vos identifiants de SMTP connexion ne sont pas les mêmes que votre identifiant de clé AWS d'accès et votre clé d'accès secrète. Pour en savoir plus sur les informations d'identification, consultez Obtention des SES SMTP informations d'identification Amazon.Si vous utilisez Amazon SES dans une AWS région autre que l'ouest des États-Unis (Oregon), remplacez
email-smtp.us-west-2.amazonaws.com
dans l'exemple précédent avec le SMTP point de terminaison de la région appropriée. Pour de plus amples informations, veuillez consulter Régions et Amazon SES.Enregistrez et fermez
sasl_passwd
. -
À l'invite de commande, tapez la commande suivante pour créer un fichier de base de données hashmap contenant vos SMTP informations d'identification :
sudo postmap hash:/etc/postfix/sasl_passwd
-
(Facultatif) Les fichiers
/etc/postfix/sasl_passwd
et/etc/postfix/sasl_passwd.db
que vous avez créés au cours des étapes précédentes ne sont pas chiffrés. Étant donné que ces fichiers contiennent vos SMTP informations d'identification, nous vous recommandons de modifier la propriété et les autorisations des fichiers afin d'en restreindre l'accès. Pour restreindre l'accès à ces fichiers :-
Dans une invite de commande, entrez la commande suivante pour modifier la propriété des fichiers :
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
-
Dans une invite de commande, entrez la commande suivante pour modifier les autorisations des fichiers pour que seul l'utilisateur racine puisse lire ou écrire dans ces fichiers :
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
-
-
Indiquez à Postfix où se trouve le certificat CA (nécessaire pour vérifier le certificat SES du serveur Amazon). La commande que vous utilisez dans cette étape varie en fonction de votre système d'exploitation.
-
Si vous utilisez Amazon Linux, Red Hat Enterprise Linux ou une distribution connexe, saisissez la commande suivante :
sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
-
Si vous utilisez Ubuntu ou une distribution connexe, saisissez la commande suivante :
sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
-
Si vous utilisez macOS, vous pouvez générer le certificat à partir de l'utilitaire Keychain de votre système. Pour générer le certificat, tapez la commande suivante sur la ligne de commande :
sudo security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain > /etc/ssl/certs/ca-bundle.crt
Une fois le certificat généré, tapez la commande suivante :
sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
-
-
Tapez la commande suivante pour démarrer le serveur Postfix (ou pour recharger les paramètres de configuration si le serveur est déjà en cours d'exécution) :
sudo postfix start; sudo postfix reload
-
Envoyez un e-mail de test en saisissant ce qui suit sur la ligne de commande, en appuyant sur Entrée après chaque ligne. Remplacez
sender@example.com
avec votre adresse e-mail From. L'adresse d'expédition doit être vérifiée pour être utilisée avec AmazonSES. Remplacezrecipient@example.com
avec l'adresse de destination. Si votre compte est encore dans l'environnement de test (sandbox), l'adresse du destinataire doit également être vérifiée. Enfin, la dernière ligne du message doit contenir uniquement un point (.), sans autre contenu.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. . -
Vérifiez la boîte aux lettres associée à l'adresse du destinataire. Si l'e-mail n'arrive pas, vérifiez le dossier des courriers indésirables. Si vous ne trouvez toujours pas l'e-mail, vérifiez le journal de messagerie de votre système (généralement situé dans
/var/log/maillog
) pour en savoir plus.
Exemple d'utilisation avancée
Cet exemple montre comment envoyer un e-mail qui utilise un ensemble de configuration et qui utilise le codage MIME -multipart pour envoyer à la fois un texte brut et une HTML version du message, ainsi qu'une pièce jointe. Il inclut également une balise de lien, qui peut être utilisée pour classer les événements de clic. Le contenu de l'e-mail étant spécifié dans un fichier externe, vous n'avez pas à entrer manuellement les commandes dans la session Postfix.
Pour envoyer un MIME e-mail en plusieurs parties à l'aide de Postfix
-
Dans un éditeur de texte, créez un fichier nommé
mime-email.txt
. -
Dans le fichier texte, collez le contenu suivant, en remplaçant les valeurs en rouge par les valeurs appropriées de votre compte :
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--Enregistrez et fermez le fichier .
-
Sur la ligne de commande, entrez la commande suivante. Remplacez
sender@example.com
avec votre adresse e-mail, et remplacezrecipient@example.com
avec l'adresse e-mail du destinataire.sendmail -f
sender@example.com
recipient@example.com
< mime-email.txtSi la commande s'exécute correctement, elle se termine sans fournir de sortie.
-
Vérifiez que vous avez bien reçu l'e-mail dans votre boîte de réception. Si le message n'a pas été remis, vérifiez le journal de messagerie dans votre système.