Serveur de messagerie · 3 min read · Oct 05, 2025

Solution complète de serveur de messagerie avec domaines et utilisateurs virtuels (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Page 9

VI. IMAP non sécurisé

Alors maintenant, vous avez une configuration de serveur de messagerie plutôt à l’épreuve des balles. Les mails arrivent, sont passés à travers une variété de procédures anti-spam, et sont vérifiés pour les virus avant d’être joliment déposés dans le répertoire d’un utilisateur virtuel sur le serveur interne. Mais… comment les utilisateurs accèdent-ils à leur email ?

Bonne question. La réponse varie selon l’endroit où se trouve l’utilisateur. Pour le moment, nous allons supposer que l’utilisateur est soit (A) sur le réseau local (interne), soit (B) accède à son email via une connexion sécurisée au serveur web. Pour l’un ou l’autre de ces cas, ils auront besoin qu’IMAP soit en cours d’exécution. Puisque le serveur postman a déjà un serveur IMAP entièrement fonctionnel installé (Dovecot), utilisons ce serveur pour leurs accès.

Ouvrez le fichier de configuration de Dovecot situé dans /etc/dovecot/dovecot.conf et faites-le ressembler à ce qui suit. Il y a probablement déjà beaucoup de configurations par défaut effectuées, donc vous n’aurez probablement qu’à décommenter certaines sections et à changer des choses mineures.

## Fichier de configuration de Dovecot  
#  
directory = /var/run/dovecot/  
#  
# imap imaps pop3 pop3s (utilisez imaps et pop3s si configuré pour SSL)  
protocols = imap  
#  
# Décommentez les déclarations ssl_listen et commentez listen si vous utilisez SSL  
protocol imap {  
listen = *:143  
# ssl_listen = *:993  
}  
#protocol pop3 {  
#listen = *:110  
# ssl_listen = *:995  
#}  
#  
log_timestamp = "%Y-%m-%d %H:%M:%S "  
syslog_facility = mail  
#  
# Décommentez ceci si vous utilisez SSL  
#ssl_cert_file = /etc/ssl/mycompany/mailserver/mail-cert.pem  
#ssl_key_file = /etc/ssl/mycompany/mailserver/mail-key.pem  
#ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem  
#ssl_verify_client_cert = yes  
#ssl_parameters_regenerate = 168  
#verbose_ssl = no  
#  
# Où se trouvent les boîtes aux lettres  
mail_location = maildir:/vmail/%d/%u  
#  
mail_extra_groups = mail  
mail_debug = no  
first_valid_uid = 150  
last_valid_uid = 150  
maildir_copy_with_hardlinks = yes  
#  
protocol imap {  
login_executable = /usr/lib/dovecot/imap-login  
mail_executable = /usr/lib/dovecot/imap  
imap_max_line_length = 65536  
}  
#protocol pop3 {  
#login_executable = /usr/lib/dovecot/pop3-login  
#mail_executable = /usr/lib/dovecot/pop3  
#pop3_uidl_format = %08Xu%08Xv  
#}  
protocol lda {  
postmaster_address = [email protected]  
sendmail_path = /usr/lib/sendmail  
auth_socket_path = /var/run/dovecot/auth-master  
}  
#  
auth_verbose = no  
auth_debug = no  
auth_debug_passwords = no  
#  
auth default {  
 mechanisms = plain  
 passdb sql {  
 args = /etc/dovecot/dovecot-sql.conf  
 }  
 userdb sql {  
 args = /etc/dovecot/dovecot-sql.conf  
 }  
 user = nobody  
 socket listen {  
 master {  
 path = /var/run/dovecot/auth-master  
 mode = 0660  
 user = vmail  
 group = mail  
 }  
 client {  
 path = /var/spool/postfix/private/auth  
 mode = 0660  
 user = postfix  
 group = postfix  
 }  
 }  
 #  
 # Si vous voulez des certificats clients, utilisez ces lignes  
 # ssl_require_client_cert = yes  
 # ssl_username_from_cert = yes  
}

NOTE : Vous ne pouvez pas simplement copier la configuration ci-dessus et vous attendre à ce qu’elle fonctionne ! Vous allez devoir intégrer les modifications ci-dessus dans votre propre configuration.

La configuration de Dovecot est presque complète, mais tout comme avec la configuration de Postfix, les paramètres MySQL doivent être intégrés.

Ouvrez le fichier /etc/dovecot/dovecot-sql.conf et assurez-vous que ce qui suit est présent.

driver = mysql  
connect = host=sql-1.internal.example.com dbname=virtual_mail user=vmail_user password=vmail_user_password  
# Le nouveau nom pour MD5 est MD5-CRYPT donc vous devrez peut-être changer cela selon la version  
default_pass_scheme = MD5  
# Obtenez la boîte aux lettres  
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'  
# Obtenez le mot de passe  
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'  
# Si vous utilisez des certificats clients pour l'authentification, commentez ce qui précède et décommentez ce qui suit  
#password_query = SELECT null AS password, '%u' AS user

Puisque nous avons stocké notre mot de passe MySQL en texte clair dans ce document, nous voulons nous assurer que nous sommes les seuls à pouvoir le lire !

# chmod 600 /etc/dovecot/*.conf  
# chown vmail /etc/dovecot/*.conf

La configuration interne/non sécurisée de Dovecot est maintenant terminée ! Allez-y et redémarrez le service dovecot :

# invoke-rc.d dovecot restart

… et vos utilisateurs internes/webmail peuvent maintenant vérifier leurs emails sur postman.internal.example.com

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.