Comment installer et configurer Sendmail sur Ubuntu
Comment installer et configurer Sendmail sur Ubuntu pour envoyer des e-mails à l’aide d’un serveur de messagerie qui achemine ou relaie la livraison du courrier.
Sendmail est un agent de transfert de courrier opensource (MTA) qui est utilisé pour acheminer les e-mails à l’aide du serveur ou à l’aide de commandes shell. Vous pouvez également configurer SMTP à l’aide de Sendmail.
Dans ce guide, vous allez apprendre à installer et à configurer Sendmail sur Ubuntu. Vous allez également configurer SMTP et le configurer avec PHP.
Le meilleur hébergement pour votre entreprise
Plateforme | Avis | Prix |
---|---|---|
Chemin des Nuages | ★★★★★ | $10 |
Accueil – Google Cloud | ★★★★★ | $30 |
Mettez à jour les packages serveur
SSH à l’intérieur de votre serveur et mettez à jour les packages vers sa dernière version.
sudo apt updatesudo apt upgrade
Installer Sendmail
Sendmail est disponible dans le référentiel ubuntu, vous pouvez donc l’installer directement à l’aide de la commande apt install
.
sudo apt install sendmail
Configurez le nom d’hôte
Modifiez le fichier /etc/hosts
et ajoutez votre nom d’hôte.
sudo nano /etc/hosts
Sur la ligne commençant par 127.0.0.1
, ajoutez le hostname
à la fin comme il apparaît ci-dessous. Cela devrait être sur une seule ligne.
127.0.0.1 localhost hostname
Configure SMTP
Crée un nouveau répertoire dans /etc/mail
pour les configurations SMTP.
sudo mkdir /etc/mail/authinfo
Configurez les autorisations correctes.
sudo chmod -R 700 /etc/mail/authinfo
Créez un nouveau fichier pour votre authentification SMTP dans le répertoire nouvellement créé.
cd /etc/mail/authinfosudo nano smtp-auth
Collez la ligne suivante et remplacez l’adresse e-mail par votre adresse e-mail de connexion et le mot de passe par votre mot de passe.
AuthInfo: "U:root" "I:email-address" "P:password"
Appuyez sur CRTL + X
suivi de Y
et ENTER
pour enregistrer et quitter le fichier.
Créez une carte de base de données de hachage pour l’authentification créée ci-dessus.
sudo makemap hash smtp-auth < smtp-auth
Configure SMTP
Accédez au répertoire de configuration de sendmail et modifiez le fichier sendmail.mc
.
cd /etc/mailsudo nano sendmail.mc
Ajoutez les configurations ci-dessous juste après la ligne MAILER _DEFINITIONS.
Remplacez smtp-host
par votre nom d’hôte SMTP.
define(`SMART_HOST',`')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_OPTIONS', `A p')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
La configuration devrait ressembler à la capture d’écran ci-dessous.
Enregistrez maintenant le fichier et quittez l’éditeur.
Reconstruire la configuration de Sendmail
Une fois la configuration terminée, vous devez reconstruire la configuration de Sendmail à l’aide de la commande make
.
cd /etc/mailmake
Une fois la configuration reconstruite, vous devez redémarrer Sendmail
Redémarrer Sendmail
Redémarrer Sendmail à l’aide de la commande suivante.
sudo /etc/init.d/sendmail restart
Maintenant, vous pouvez envoyer des e-mails en utilisant SMTP.
Configurations supplémentaires
Configuration avec PHP
Pour utiliser Sendmail avec PHP, vous devez indiquer le chemin sendmail dans votre fichier php.ini
.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
Au bas du fichier, ajoutez ce qui suit.
sendmail_path= /usr/sbin/sendmail -t -i
Redémarrez Apache ou PHP-FPM pour que les modifications prennent effet.
sudo service apache2 restartorsudo service php8.0-fpm restart
Configuration SMTP de Sendmail sans authentification
Si vous avez inscrit l’adresse IP de votre serveur sur la liste blanche pour SMTP et que vous pouvez envoyer des e-mails sans authentification, vous pouvez suivre la méthode ci-dessous.
Vous n’avez pas besoin de créer le fichier smtp-auth
que nous avons créé ci-dessus.
Vous pouvez modifier directement le fichier sendmail.mc
et apporter les modifications suivantes.
cd /etc/mailsudo nano sendmail.mc
Ajoutez les configurations ci-dessous à la dernière.
Remplacez smtp-host
par votre nom d’hôte SMTP.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Enregistrez le fichier, reconstruisez la configuration et redémarrez Sendmail.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
Conclusion
Maintenant, vous avez appris à installer et configurer Sendmail pour relayer en utilisant SMTP sur Ubuntu.