Comment installer Sendmail sur Ubuntu 22.04 et le configurer 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 (MTA) open source qui est utilisé pour acheminer les e-mails à l'aide d'un 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 configurerez également SMTP et le configurerez avec PHP.
Mettre à jour les packages de serveur
SSH à l'intérieur de votre serveur et mettez à jour les packages vers sa dernière version.
sudo apt update sudo apt upgrade
Installer Sendmail
Sendmail est disponible dans le référentiel ubuntu, vous pouvez donc l'installer directement en utilisant apt install
commande.
sudo apt install sendmail
Configurer le nom d'hôte
Modifiez le /etc/hosts
fichier 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
Configurer SMTP
Créer 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/authinfo sudo nano smtp-auth
Collez la ligne suivante et remplacez l'adresse e-mail par votre e-mail de connexion et votre 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
Configurer SMTP
Accédez au répertoire de configuration de sendmail et modifiez le sendmail.mc
fichier.
cd /etc/mail sudo nano sendmail.mc
Ajoutez les configurations ci-dessous juste après les MAILER _DEFINITIONS ligne.
Remplacer smtp-host
avec votre nom d'hôte SMTP.
define(`SMART_HOST',`[smtp-host]')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl define(`confAUTH_OPTIONS', `A p')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`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 en utilisant le make
commande.
cd /etc/mail make
Une fois la configuration reconstruite, vous devez redémarrer Sendmail
Redémarrer Sendmail
Redémarrez Sendmail à l'aide de la commande suivante.
sudo /etc/init.d/sendmail restart
Vous pouvez désormais envoyer des e-mails via SMTP.
Configurations supplémentaires
Configuration avec PHP
Pour utiliser Sendmail avec PHP, vous devez ajouter le chemin sendmail dans votre php.ini
fichier.
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 restart or sudo service php8.1-fpm restart
Configuration SMTP Sendmail sans authentification
Si vous avez mis en liste blanche l'adresse IP de votre serveur 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 smtp-auth
fichier que nous avons créé ci-dessus.
Vous pouvez modifier directement le sendmail.mc
fichier et apportez les modifications suivantes.
cd /etc/mail sudo nano sendmail.mc
Ajoutez les configurations ci-dessous à la dernière.
Remplacer smtp-host
avec votre nom d'hôte SMTP.
define(`SMART_HOST',`smtp-host')dnl define(`RELAY_MAILER', `esmtp')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Enregistrez le fichier, reconstruisez la configuration et redémarrez Sendmail.
cd /etc/mail make sudo /etc/init.d/sendmail restart
Préparez-vous à un poste de professionnel des technologies de l'information avec le système d'exploitation Linux
Conclusion
Vous avez maintenant appris comment installer et configurer Sendmail pour relayer en utilisant SMTP sur Ubuntu 22.04.
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.