Ceci est une ancienne révision du document !
Pour réaliser un serveur de mail, il est nécessaire de réaliser plusieurs fonctions distinctes :
Cette page explique la réalisation de ces fonctions avec les softs suivants :
Pour le webmail, voir directement Webmail
Remarque sur le stockage des mails : j'ai opté pour le format Maildir qui stocke chaque mail dans un fichier séparé. Ce format est supporté directement par Postfix et Courier. Il est adapté à des besoins modestes.
Utilisé pour le projet Projet Bender.
Pour installer exim sous Debian, il faut installer :
The main disadvantage is that searching can be slightly slower, and access to very large mailboxes (thousands of messages) can get slow with filesystems which don't have directory indexes.
Old versions of ext2 and ext3 on Linux don't support directory indexing (to speed up access), but newer versions of ext3 do, although you may have to manually enable it. You can check if the indexing is already enabled with tune2fs:
tune2fs -l /dev/hda3 | grep features
If you see dir_index, you're all set. If dir_index is missing, add it using:
umount /dev/hda3 tune2fs -O dir_index /dev/hda3 e2fsck -fD /dev/hda3 mount /dev/hda3
Pour installer postfix il faut tout d'abord supprimer exim4 puis installer le paquet :
A noter que postfix installe automatiquement openssl.
La configuration de postfix se situe dans /etc/postfix/main.cf
Pour modifier le format et utiliser Maildir, il faut remplacer :
mailbox_command = procmail -a "$EXTENSION"
par :
home_mailbox = Maildir/
Il faut ensuite ajouter l'ensemble des alias du serveur dans mydestination :
mydestination = bouthors.fr, matthieu.bouthors.org, bender.matthieu.bouthors.org, localhost.matthieu.bouthors.org, localhost, alf.homelinux.com, alf.ath.cx, mat.homeftp.org
Et indiquer les réseaux qui peuvent envoyer des emails à tout le monde :
mynetworks = 127.0.0.0/8, 192.168.0.0/16
Il est possible de forcer l'ip utilisée pour sortir :
smtp_bind_address=192.168.10.2
Si vous utilisez un relais du FAI pour envoyer les mails indiquer :
relayhost = smtp.neuf.fr
Enfin, il faut configurer le nom du serveur
myhostname = smtp.bouthors.fr
Exemple de configuration complète :
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = smtp.bouthors.fr alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = bouthors.fr, matthieu.bouthors.org, bender.matthieu.bouthors.org, localhost.matthieu.bouthors.org, localhost, alf.homelinux.com, alf.ath.cx, mat.homeftp.org relayhost = smtp.neuf.fr mynetworks = 127.0.0.0/8, 192.168.0.0/16 #mailbox_command = procmail -a "$EXTENSION" home_mailbox= Maildir/ mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtp_bind_address=192.168.10.2
Le fichier /etc/aliases contient les alias email, pour rediriger les mails de root sur un utilisateur il suffit d'ajouter :
root: utilisateur
Courier est un serveur POP3/IMAP populaire. Il supporte le format Maildir par défaut.
L'installation se réalise par l'ajout des paquets suivants :
Aucune configuration n'est nécessaire pour Courier.
Mutt est un client mail très populaire sous Linux, il est installé par défaut. Sa configuration est dans /etc/Muttrc
Pour utiliser le format Maildir, il faut ajouter les éléments suivants au debut de /etc/Muttrc :
set mbox_type=Maildir set folder="~/Maildir" set mask="!^\\.[^.]" set mbox="~/Maildir" set record="+.Sent" set postponed="+.Drafts" set spoolfile="~/Maildir" mailboxes `echo -n "+ "; find ~/Maildir -type d -name ".*" -printf "+'%f' "` macro index c "<change-folder>?<toggle-mailboxes>" "open a different folder" macro pager c "<change-folder>?<toggle-mailboxes>" "open a different folder" macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox" macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox" macro compose A "<attach-message>?<toggle-mailboxes>" "attach message(s) to this message"
Pour plus d'info voir directement http://www.elho.net/mutt/maildir/
Fichiers à sauver :