Différences entre les versions de « Sendmail et serveur SMTP »

De Wiki de la famille Lambelet
Aller à la navigation Aller à la recherche
(Page créée avec « Nous allons configurer Sendmail sur Debian 10 pour utiliser un serveur SMTP. Dans un premier temps il faut installer sendmail $ sudo apt install sendmail Dès lors, qua… »)
 
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[category:informatique]][[category:WSL_LAMP]]
Nous allons configurer Sendmail sur Debian 10 pour utiliser un serveur SMTP.
Nous allons configurer Sendmail sur Debian 10 pour utiliser un serveur SMTP.


Dans un premier temps il faut installer sendmail
== Installation de sendmail ==
 
<pre>
$ sudo apt install sendmail
$ sudo apt install sendmail
</pre>
Dès lors, quand vous utilisez la commande "sudo sendmailconfig", vous devriez avoir un message qui vous demande de confirmer que vous avez configuré sendmail.


Dès lors, quand vous utilisez la commande "sudo sendmailconfig", vous devriez avoir un message qui vous demande de confirmer que vous avez configuré sendmail.
== Configuration de sendmail ==


Si vous voulez configurer manuellement sendmail alors vous avez trois fichiers à disposition:
Si vous voulez configurer manuellement sendmail alors vous avez trois fichiers à disposition:


/etc/mail/sendmail.conf
* /etc/mail/sendmail.conf
/etc/cron.d/sendmail
* /etc/cron.d/sendmail
/etc/mail/sendmail.mc
* /etc/mail/sendmail.mc


Vous pouvez tester sendmail pour voir si cela fonctionne en utilisant la commande suivante :
Vous pouvez tester sendmail pour voir si cela fonctionne en utilisant la commande suivante :
 
<pre>
$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com
$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com
</pre>


La partie suivante va vous permettre de rajouter un relai SMTP à sendmail :
=== Configuration du relais SMTP ===


Allez dans le répertoire de configutation de sendmail :
Allez dans le répertoire de configutation de sendmail :
<pre>
$ cd /etc/mail
$ cd /etc/mail
 
</pre>
Créez un sous-répertoire "auth" :
Créez un sous-répertoire "auth" :
<pre>
$ sudo mkdir auth
$ sudo mkdir auth
$ cd auth
$ cd auth
 
</pre>


Créez un fichier qui contiendra votre login SMTP :
Créez un fichier qui contiendra votre login SMTP :
<pre>
$ sudo touch client-info
$ sudo touch client-info
 
</pre>
Dans ce fichier ajoutez la ligne suivante en modifiant votre identifiant et mot de passe :
Dans ce fichier ajoutez la ligne suivante en modifiant votre identifiant et mot de passe :
AuthInfo:your.isp.net "U:root" "I:user" "P:password"
<pre>AuthInfo:serveur_smtp.com "U:root" "I:utilisateur" "P:mot_de_passe"</pre>


Maintenant nous allons utiliser "Authentication database" pour permettre a sendmail de lire ce fichier de configuration :
Maintenant nous allons utiliser "Authentication database" pour permettre a sendmail de lire ce fichier de configuration :
<pre>
sudo makemap hash client-info < client-info
sudo makemap hash client-info < client-info
 
</pre>
Puis nous protégeons ces fichiers pour que seul root puisse les lire :
Puis nous protégeons ces fichiers pour que seul root puisse les lire :
<pre>
$ sudo chmod 600 client-info
$ sudo chmod 600 client-info
$ cd ..
$ cd ..
$ chmod 700 auth
$ sudo chmod 700 auth
 
</pre>
Maintenant il faut ajouter les ligne suivante dans le fichier sendmail.mc juste avant MAILERDEFINITIONS. Indiquez ici le nom de domaine de votre serveur SMTP :


define(`SMART_HOST',`mon_domain.com')dnl
Maintenant il faut ajouter les ligne suivante dans le fichier sendmail.mc <b>juste avant MAILERDEFINITIONS</b>. Indiquez ici le nom de domaine de votre serveur SMTP :
<pre>
define(`SMART_HOST',`serveur_smtp.com')dnl
MASQUERADE_AS(`mon_domain.com')
FEATURE(masquerade_envelope)
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI 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/auth/client-info.db')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl
 
</pre>
On va maintenant regénérer le fichier sendmail.cf
On va maintenant regénérer le fichier sendmail.cf
 
<pre>
$ sudo m4 sendmail.mc | sudo tee sendmail.cf > /dev/null
$ sudo m4 sendmail.mc | sudo tee sendmail.cf > /dev/null
 
</pre>
Redémarrez le service sendmail:
Redémarrez le service sendmail:
<pre>
$ sudo service sendmail restart
$ sudo service sendmail restart
</pre>
Testez sendmail :
<pre>
$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com
</pre>
Si vous ne recevez pas le message, allez voir le fichier de log /var/log/mail.info
J'espère que ce tuto vous sera utile.

Version actuelle datée du 2 juin 2021 à 15:49

Nous allons configurer Sendmail sur Debian 10 pour utiliser un serveur SMTP.

Installation de sendmail

$ sudo apt install sendmail

Dès lors, quand vous utilisez la commande "sudo sendmailconfig", vous devriez avoir un message qui vous demande de confirmer que vous avez configuré sendmail.

Configuration de sendmail

Si vous voulez configurer manuellement sendmail alors vous avez trois fichiers à disposition:

  • /etc/mail/sendmail.conf
  • /etc/cron.d/sendmail
  • /etc/mail/sendmail.mc

Vous pouvez tester sendmail pour voir si cela fonctionne en utilisant la commande suivante :

$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com

Configuration du relais SMTP

Allez dans le répertoire de configutation de sendmail :

$ cd /etc/mail

Créez un sous-répertoire "auth" :

$ sudo mkdir auth
$ cd auth

Créez un fichier qui contiendra votre login SMTP :

$ sudo touch client-info

Dans ce fichier ajoutez la ligne suivante en modifiant votre identifiant et mot de passe :

AuthInfo:serveur_smtp.com "U:root" "I:utilisateur" "P:mot_de_passe"

Maintenant nous allons utiliser "Authentication database" pour permettre a sendmail de lire ce fichier de configuration :

sudo makemap hash client-info < client-info

Puis nous protégeons ces fichiers pour que seul root puisse les lire :

$ sudo chmod 600 client-info
$ cd ..
$ sudo chmod 700 auth

Maintenant il faut ajouter les ligne suivante dans le fichier sendmail.mc juste avant MAILERDEFINITIONS. Indiquez ici le nom de domaine de votre serveur SMTP :

define(`SMART_HOST',`serveur_smtp.com')dnl
MASQUERADE_AS(`mon_domain.com')
FEATURE(masquerade_envelope)
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

On va maintenant regénérer le fichier sendmail.cf

$ sudo m4 sendmail.mc | sudo tee sendmail.cf > /dev/null

Redémarrez le service sendmail:

$ sudo service sendmail restart

Testez sendmail :

$ echo "J'envoie un message par sendmail." | /usr/sbin/sendmail utilisateur@mon_domain.com

Si vous ne recevez pas le message, allez voir le fichier de log /var/log/mail.info

J'espère que ce tuto vous sera utile.