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.
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 (Message Transfert Agent, MTA) flexible et configurable avec une grande 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
Les instructions disponibles dans cette section vous expliquent comment configurer Sendmail pour envoyer un e-mail via Amazon SES. Cette procédure a été testée sur un serveur Ubuntu 18.04.2 LTS.
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 plus d'informations, consultez Création d'une identité d'adresse e-mail.
Si votre compte se trouve dans l'environnement de test (sandbox) Amazon SES, vous devez également valider les adresses auxquelles vous envoyez des e-mails. Pour de plus amples informations, veuillez consulter Demande d'accès à la production (sortie du sandbox d'Amazon SES).
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 la section Adresses IP Amazon EC2 Elastic dans le guide de EC2 l'utilisateur Amazon.
-
Amazon Elastic Compute Cloud (Amazon EC2) 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 point de terminaison SMTP depuis Amazon EC2, 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
Effectuez les étapes décrites dans cette section pour configurer Sendmail de façon à envoyer des e-mails à l'aide d'Amazon SES.
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 voulez utiliser une autre région, remplacez toutes les instances email-smtp.us-west-2.amazonaws.com dans ces instructions par le point de terminaison SMTP de la région souhaitée. Pour obtenir la liste des points de terminaison SMTP URLs pour Régions AWS lesquels Amazon SES est disponible, consultez Amazon Simple Email Service (Amazon SES) 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 :
-
email-smtp.us-west-2.amazonaws.com
Remplacez-le par le point de terminaison SMTP Amazon SES que vous souhaitez utiliser. -
smtpUsername
Remplacez-le par votre nom d'utilisateur SMTP Amazon SES. -
smtpPassword
Remplacez-le par votre mot de passe SMTP Amazon SES.
Note
Vos identifiants de connexion SMTP sont différents de votre identifiant de clé d' AWS accès et de votre clé d'accès secrète. Pour en savoir plus sur l'obtention de vos informations d'identification de connexion SMTP, consultez Obtention des informations d'identification SMTP Amazon SES.
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'
-
En ligne de commande, entrez la commande suivante pour ajouter la prise en charge des relais vers le point de terminaison SMTP Amazon SES.
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
par l'adresse du point de terminaison SMTP Amazon SES 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 :
-
email-smtp.us-west-2.amazonaws.com
Remplacez-le par le point de terminaison SMTP Amazon SES que vous souhaitez utiliser. -
example.com
Remplacez-le par le domaine que vous souhaitez utiliser pour envoyer des e-mails.
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
par votre adresse e-mail From. Remplacezrecipient@example.com
par l'adresse de destination. 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.