Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

configurer_un_serveur_mail_sous_linux_avec_postfix [2020/08/31 11:38] superadminconfigurer_un_serveur_mail_sous_linux_avec_postfix [2022/04/11 16:34] (Version actuelle) – modification externe 127.0.0.1
Ligne 87: Ligne 87:
 postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'tls_random_source = dev:/dev/urandom'
 postconf -e 'myhostname = nocterie.local' postconf -e 'myhostname = nocterie.local'
-postconf -e 'maillog_file = /var/log/postfix.log'</code>+postconf -e 'maillog_file = /var/log/postfix.log
 +postconf -e 'smtp_tls_policy_maps = hash:/etc/postfix/tls_policy'</code> 
 + 
 +Afin que SMTP-TLS vérifie bien le domaine, créer le fichier ''/etc/postfix/tls_policy'' contenant : 
 + 
 +<code>nocterie.local      verify</code> 
 + 
 +:!: ''nocterie.local'' doit être remplacé par le nom du domaine à vérifier. 
 + 
 +Appliquer les changements avec : 
 + 
 +<code>postmap /etc/postfix/tls_policy 
 +chgrp postfix /etc/postfix/tls_policy*</code>
  
 Par défaut, PostFix tente d'envoyer les mails sortants sur Internet, parfois ce n'est pas possible car l'opérateur bloque la livraison directe du courrier, il faut alors configurer soi-même le relais SMTP à utiliser en sortie : Par défaut, PostFix tente d'envoyer les mails sortants sur Internet, parfois ce n'est pas possible car l'opérateur bloque la livraison directe du courrier, il faut alors configurer soi-même le relais SMTP à utiliser en sortie :
Ligne 100: Ligne 112:
  
 S'il n'y a aucun retour cela signifie que la configuration est bonne. S'il n'y a aucun retour cela signifie que la configuration est bonne.
- 
- 
-===== Tests du protocole SMTP ===== 
- 
-Démarrer saslauthd, il ne doit pas y avoir d'erreur : 
- 
-<code>service saslauthd start</code> 
- 
-Vérifier que SMTP-AUTH et TLS fonctionnent correctement : 
- 
-<code>telnet localhost 25</code> 
- 
-Puis faire (remplacer ''nocterie.local'' par le domaine de messagerie utilisé) :  
- 
-<code>EHLO nocterie.local</code> 
- 
-La commande doit retourner une liste dans laquelle il y a une ligne ''250-STARTTLS'' et une autre ''250-AUTH PLAIN LOGIN'' 
- 
-Quitter Telnet avec la commande ''quit''. 
- 
-On peut aussi essayer l'authentification avec un utilisateur local membre du groupe ''sasl'' pour voir si elle fonctionne :  
- 
-<code>testsaslauthd -u utilisateur -p password</code> 
- 
-Cela doit renvoyer ceci : ''0: OK "Success."'', autrement il y a un problème quelquepart. 
- 
-:!: La dernière commande peut ne pas fonctionner => Ignorer 
  
 ===== Création des comptes d'utilisateur et paramétrage de PostFix ===== ===== Création des comptes d'utilisateur et paramétrage de PostFix =====
Ligne 205: Ligne 190:
 postconf -e 'virtual_transport = virtual' postconf -e 'virtual_transport = virtual'
 postconf -e 'virtual_uid_maps = static:5000' postconf -e 'virtual_uid_maps = static:5000'
-postconf -e 'virtual_create_maildirsize = yes' 
-postconf -e 'virtual_mailbox_extended = yes' 
-postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf' 
-postconf -e 'virtual_mailbox_limit_override = yes' 
-postconf -e 'virtual_maildir_limit_message = Le compte a atteint son quota de mails. Merci de rééssayer plus tard' 
-postconf -e 'virtual_overquota_bounce = yes' 
 postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'</code> postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'</code>
  
Ligne 271: Ligne 250:
 chmod o+r /etc/postfix/main.cf chmod o+r /etc/postfix/main.cf
 chmod +x /etc/postfix/postfix-script</code> chmod +x /etc/postfix/postfix-script</code>
 +
 +=====Paramétrage de l'authentification SMTP=====
 +Tout d'abord, créer le fichier de configuration de sasl et y indiquer quelques réglages :
 +
 +touch /etc/postfix/sasl/smtpd.conf
 +<code>echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
 +echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf 
 +echo 'allow_plaintext: true' >> /etc/postfix/sasl/smtpd.conf</code>
 +
 +Puis entrer les commandes suivantes :
 +
 +<code>mkdir -p /var/spool/postfix/var/run/saslauthd
 +rm -fr /var/run/saslauthd
 +ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
 +chown -R root:sasl /var/spool/postfix/var/
 +chmod 710 /var/spool/postfix/var/run/saslauthd</code>
 +
 +Ensuite éditer le fichier /etc/default/saslauthd pour modifier les 2 lignes suivantes :
 +
 +  * ''START=no'' en ''START=yes''
 +  * ''OPTIONS="-c -m /var/run/saslauthd"'' en ''OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"''
 +
 +Enfin, créer le fichier ''/etc/pam.d/smtp'' contenant :
 +
 +<code>auth       required     pam_mysql.so user=postfix passwd=password host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=2
 +account    sufficient   pam_mysql.so user=postfix passwd=password host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=2
 +</code>
 +===== Tests du protocole SMTP =====
 +
 +Démarrer saslauthd, il ne doit pas y avoir d'erreur :
 +
 +<code>service saslauthd start</code>
 +
 +Vérifier que SMTP-AUTH et TLS fonctionnent correctement :
 +
 +<code>telnet localhost 25</code>
 +
 +Puis faire (remplacer ''nocterie.local'' par le domaine de messagerie utilisé) : 
 +
 +<code>EHLO nocterie.local</code>
 +
 +La commande doit retourner une liste dans laquelle il y a une ligne ''250-STARTTLS'' et une autre ''250-AUTH PLAIN LOGIN''
 +
 +Quitter Telnet avec la commande ''quit''.
 +
 +On peut aussi essayer l'authentification avec un utilisateur local membre du groupe ''sasl'' pour voir si elle fonctionne : 
 +
 +<code>testsaslauthd -u utilisateur -p userpassword -s smtp -f /var/spool/postfix/var/run/saslauthd/mux</code>
 +
 +Cela doit renvoyer ceci : ''0: OK "Success."'', autrement il y a un problème quelquepart.
 +
 +:!: La dernière commande peut ne pas fonctionner => Ignorer
 +
 ===== Configuration de ProcMail ===== ===== Configuration de ProcMail =====
  
Ligne 305: Ligne 337:
  
 ===== Création d'un compte mail ===== ===== Création d'un compte mail =====
 +
 +Ouvrir la console MySQL et créer l'utilisateur en ajoutant différentes entrées :
 +
 +<code>use postfix;
 +INSERT INTO domain (domain,description) VALUES ('domain.tld','Test Domain');
 +INSERT INTO alias (address,goto) VALUES ('alias@domain.tld', 'test@domain.tld');
 +INSERT INTO mailbox (username,password,name,maildir)  VALUES ('test@domain.tld',ENCRYPT('userpassword'),'Mailbox User','test@domain.tld/');</code>
 +
  
 Avec ce système, les comptes de messagerie sont les mêmes que ceux de Linux. Avec ce système, les comptes de messagerie sont les mêmes que ceux de Linux.