| |
| configurer_un_serveur_mail_sous_linux_avec_postfix [2020/08/31 11:35] – [Création des comptes d'utilisateur] superadmin | configurer_un_serveur_mail_sous_linux_avec_postfix [2022/04/11 16:34] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| 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 'home_mailbox = Maildir/' | postconf -e 'maillog_file = /var/log/postfix.log' |
| postconf -e 'maillog_file = /var/log/postfix.log'</code> | 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 : |
| 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. |
| |
| ===== Paramétrage de saslauthd pour l'authentification SMTP ===== | ===== Création des comptes d'utilisateur et paramétrage de PostFix ===== |
| | |
| Tout d'abord, créer le fichier de configuration de ''sasl'' et y indiquer quelques réglages : | |
| | |
| <code>touch /etc/postfix/sasl/smtpd.conf | |
| echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf | |
| echo 'mech_list: plain login' >> /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="-m /var/spool/postfix/var/run/saslauthd"'' | |
| | |
| ===== 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 ===== | |
| |
| Dans cette partie, on va créer la base de données qui contiendra les comptes de messagerie du domaine. | Dans cette partie, on va créer la base de données qui contiendra les comptes de messagerie du domaine. |
| 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> |
| |
| 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 ===== |
| |
| |
| ===== 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. |