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 à Sendmail
Sendmail a été lancé au début des années 1980 et a été continuellement amélioré depuis. Il s'agit d'un agent de transfert de messages flexible et configurable (MTA) avec une large communauté d'utilisateurs. Sendmail a été racheté par Proofpoint en 2013, mais ce dernier continue à proposer une version open source de Sendmail. Vous pouvez télécharger la version open source de Sendmail
La procédure décrite dans cette section explique comment configurer Sendmail pour envoyer des e-mails via AmazonSES. Cette procédure a été testée sur un serveur exécutant Ubuntu 18.04.2LTS.
Note
Sendmail 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 de commencer la procédure décrite dans cette section, vous devez effectuer les étapes suivantes :
-
Installez le paquet Sendmail sur votre serveur.
Note
Selon la distribution du système d'exploitation que vous utilisez, vous devrez peut-être également installer les paquets suivants :
sendmail-cf
,m4
etcyrus-sasl-plain
. -
Validez une identité à utiliser pour votre adresse d'expédition. Pour de plus amples informations, veuillez consulter Création d'une identité d'adresse e-mail.
Si votre compte se trouve dans le SES sandbox d'Amazon, vous devez également vérifier les adresses auxquelles vous envoyez des e-mails. Pour de plus amples informations, veuillez consulter Demande d'accès à la production (sortie du SES sandbox Amazon).
Si vous utilisez Amazon SES pour envoyer des e-mails depuis une EC2 instance Amazon, vous devez également suivre les étapes suivantes :
-
Il se peut que vous deviez attribuer une adresse IP élastique à votre EC2 instance Amazon pour que les fournisseurs de messagerie puissent accepter votre e-mail. Pour plus d'informations, consultez les adresses IP Amazon EC2 Elastic dans le guide de EC2 l'utilisateur Amazon.
-
Amazon Elastic Compute Cloud (AmazonEC2) limite le trafic de courrier électronique sur le port 25 par défaut. Pour éviter les délais d'envoi d'e-mails via le SMTP point de terminaison depuis AmazonEC2, vous pouvez demander la suppression de ces restrictions. Pour plus d'informations, consultez Comment supprimer la restriction sur le port 25 de mon EC2 instance ou AWS Lambda fonction Amazon ?
dans le AWS Knowledge Center. Vous pouvez également modifier la procédure de cette section pour utiliser le port 587 plutôt que le port 25.
Configuration de Sendmail
Suivez les étapes décrites dans cette section pour configurer Sendmail afin d'envoyer des e-mails à l'aide d'AmazonSES.
Important
La procédure décrite dans cette section part du principe que vous souhaitez utiliser Amazon SES dans l'ouest des États-Unis (Oregon) Région AWS. Si vous souhaitez utiliser une autre région, remplacez toutes les instances de email-smtp.us-west-2.amazonaws.com dans cette procédure par le SMTP point de terminaison de la région souhaitée. Pour obtenir la liste des SMTP points de terminaison URLs sur Régions AWS lesquels Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.
Pour configurer Sendmail
-
Dans un éditeur de fichier, ouvrez le fichier
/etc/mail/authinfo
. Si le fichier n'existe pas, créez-le.Ajoutez la ligne suivante à/etc/mail/authinfo:
AuthInfo:
email-smtp.us-west-2.amazonaws.com
"U:root" "I:smtpUsername
" "P:smtpPassword
" "M:PLAIN"Dans l’exemple précédent, apportez les modifications suivantes :
-
Remplacez
email-smtp.us-west-2.amazonaws.com
avec le point de SES SMTP terminaison Amazon que vous souhaitez utiliser. -
Remplacez
smtpUsername
avec votre nom SES SMTP d'utilisateur Amazon. -
Remplacez
smtpPassword
avec votre SES SMTP mot de passe Amazon.
Note
Vos identifiants de SMTP connexion sont différents de votre identifiant de clé AWS d'accès et de votre clé d'accès secrète. Pour plus d'informations sur l'obtention de vos informations de SMTP connexion, consultezObtention des SES SMTP informations d'identification Amazon.
Lorsque vous avez terminé, enregistrez
authinfo
. -
-
En ligne de commande, entrez la commande suivante pour générer le fichier
/etc/mail/authinfo.db
:sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
-
Sur la ligne de commande, tapez la commande suivante pour ajouter la prise en charge du relais vers le point de SES SMTP terminaison Amazon.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'Dans la commande précédente, remplacez
email-smtp.us-west-2.amazonaws.com
avec l'adresse du point de SES SMTP terminaison Amazon que vous souhaitez utiliser. -
Sur la ligne de commande, tapez la commande suivante pour régénérer/etc/mail/access.db :
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
En ligne de commande, entrez la commande suivante pour créer des sauvegardes des fichiers
sendmail.cf
etsendmail.mc
:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
Ajoutez les lignes suivantes au fichier/etc/mail/sendmail.mc avant toute
MAILER()
définition.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)dnlDans le texte précédent, procédez comme suit :
-
Remplacez
email-smtp.us-west-2.amazonaws.com
avec le point de SES SMTP terminaison Amazon que vous souhaitez utiliser. -
Remplacez
example.com
avec le domaine que vous souhaitez utiliser pour envoyer un e-mail.
Lorsque vous avez terminé, enregistrez le fichier.
Note
Amazon EC2 restreint les communications via le port 25 par défaut. Si vous utilisez Sendmail dans une EC2 instance Amazon, vous devez remplir la demande de suppression des limites d'envoi d'e-mails
. -
-
En ligne de commande, tapez la commande suivante pour rendre sendmail.cf accessible en écriture :
sudo chmod 666 /etc/mail/sendmail.cf
-
En ligne de commande, tapez la commande suivante pour regénérer sendmail.cf :
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
Note
Si vous rencontrez des erreurs telles que « Commande introuvable » et « Fichier ou répertoire introuvable », assurez-vous que les paquets
sendmail-cf
etm4
sont installés sur votre système. -
En ligne de commande, tapez la commande suivante pour réinitialiser les autorisations de sendmail.cf de façon qu'il soit accessible en lecture seule :
sudo chmod 644 /etc/mail/sendmail.cf
-
En ligne de commande, tapez la commande suivante pour redémarrer Sendmail :
sudo /etc/init.d/sendmail restart
Selon la version de Linux ou de Sendmail, si ce qui précède ne fonctionne pas, essayez ce qui suit :
sudo su service sendmail restart
-
Effectuez les étapes suivantes pour envoyer un e-mail de test :
-
En ligne de commande, entrez la commande suivante.
/usr/sbin/sendmail -vf
sender@example.com
recipient@example.com
Remplacez
sender@example.com
avec votre adresse e-mail From. Remplacezrecipient@example.com
avec l'adresse To. Une fois que vous avez terminé, appuyez sur Enter. -
Entrez le contenu de message suivant. Appuyez sur Enter à la fin de chaque ligne.
From:
sender@example.com
To:recipient@example.com
Subject: Amazon SES test email This is a test message sent from Amazon SES using Sendmail.Lorsque vous avez fini d'entrer le contenu de l'e-mail, appuyez sur Ctrl+D pour l'envoyer.
-
-
Vérifiez le client du destinataire de l'e-mail pour l'e-mail. Si vous ne trouvez pas l'e-mail, vérifiez le dossier des courriers indésirables. S'il ne s'y trouve pas non plus, vérifiez le journal Sendmail sur votre serveur de messagerie. Le journal se trouve souvent dans/var/log/mail.log ou/var/log/maillog.