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.
Postfix est une alternative à l'agent MTA (Message Transfert Agent) de Sendmail couramment utilisé. 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 d'authentification SASL. 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 sandbox d'Amazon SES).
Configuration de Postfix
Terminez la procédure suivante afin de configurer votre serveur de messagerie pour envoyer des e-mails via Amazon SES en utilisant 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
la commande précédente par le point de terminaison SMTP 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
etSMTPPASSWORD
par vos identifiants de connexion SMTP. Vos informations d'identification de connexion SMTP ne sont pas les mêmes que votre ID de clé d'accès AWS et votre clé d'accès secrète. Pour en savoir plus sur les informations d'identification, consultez Obtention des informations d'identification SMTP Amazon SES.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 par le point de terminaison SMTP 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 informations d'identification SMTP :
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. Ces fichiers contenant vos informations d'identification SMTP, nous vous recommandons d'en modifier les autorisations et la propriété 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ù trouver le certificat d'une autorité de certification (nécessaire pour vérifier le certificat de serveur Amazon SES). 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
par votre adresse e-mail From. L'adresse d'expédition doit être vérifiée pour une utilisation avec Amazon SES. Remplacezrecipient@example.com
par 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 jeu de configurations et l'encodage MIME en plusieurs parties pour envoyer une version en texte brut et une version HTML du message avec 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 e-mail MIME en plusieurs parties avec 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
par votre adresse e-mail et remplacezrecipient@example.com
par 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.