Serveur de Mail

Pour réaliser un serveur de mail, il est nécessaire de réaliser plusieurs fonctions distinctes :

  • MTA (Mail Transfert Agent) : Agent qui a pour rôle d'envoyer et recevoir les mails
  • Mise à disposition des mails : Par défaut le MTA stoque les mails reçus en local, pour y accéder il faut ensuite ajouter un démon POP3 ou IMAP4.
  • Webmail : Si vous souhaitez consulter les mails sur une interface web

Cette page explique la réalisation de ces fonctions avec les softs suivants :

  • MTA : Postfix
  • IMAP4 : Courier
  • Client en ligne de commande : Mutt

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.

Postfix

Installation

Pour installer postfix il faut tout d'abord supprimer exim4 puis installer le paquet :

  • postfix

A noter que postfix installe automatiquement openssl.

Configuration

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

Gérer les alias

Le fichier /etc/aliases contient les alias email, pour rediriger les mails de root sur un utilisateur il suffit d'ajouter :

root: utilisateur

Courier

Courier est un serveur POP3/IMAP populaire. Il supporte le format Maildir par défaut.

Installation

L'installation se réalise par l'ajout des paquets suivants :

  • courier-imap
  • courier-imap-ssl

Configuration

Aucune configuration n'est nécessaire pour Courier.

Mutt

Mutt est un client mail très populaire sous Linux, il est installé par défaut. Sa configuration est dans /etc/Muttrc

Configuration

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/

Backup

Fichiers à sauver :

  • /etc/aliases
  • /etc/postfix/main.cf
  • /etc/Muttrc
  • /var/spool/postfix/

Links

linux/serveur_mail.txt · Dernière modification: 2011/01/11 23:54 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki