Maniatux's Blog

Welcome to the internet

Faire son serveur mail très rapidement

Rédigé par Xavier - -

La mise en place d'un serveur mail sur Debian est vraiment très simple.

Voici un tutoriel expliquant comment mettre en place son serveur Mail avec accès IMAP (et plus tard peut-être, l'installation d'un webmail). Les comptes utilisés seront ceux du système (pas d'utilisateurs virtuels). Pour l'envoi des mails nous passerons par un relais, un serveur SMTP de Orange.

Logiciels

  • Debian 6.0
  • Postfix
  • Courier

Requis

  • Un serveur physique ou virtuel connecté à internet, accessible par redirection de port
  • Debian 6.0 installée
  • Notions de SMTP et IMAP

Schéma

Installation de Postfix

apt-get install postfix

Une interface de configuration s'affiche. Sélectionnez "Pas de configuraiton pour le moment". Lorsque l'installation est terminée, entrez:

dpkg-reconfigure postfix
Postfix configuration
  • Site internet: Serveur mail en réseau
  • Internet avec un smarthost: Server mail en réseau qui utilisera un relais pour l'envoi du courrier
  • Système satellite: Jamais vraiment utilisé ni compris sa fonction, visiblement c'est pour rendre Postfix passif et tout renvoyer vers un relais
  • Local uniquement: Pas de fonctionnement en réseau

En raison du filtrage draconien mis en place par les différents hébergeurs mail, si vous faites votre propre SMTP vous risquez d'être redirigé directement dans la boite à spam, ou même tout bonnement ignoré. Ajoutons le fait que certains FAI bloquent votre port 25 pour vous empêcher d'envoyer du spam. En bref, il est préférable de passer par un SMTP relais de confiance, qui ne sera pas filtré par vos destinataires. A peu près tous les FAI en fournissent un, choisissez le votre. Donc pour cette page sélectionnez "Internet avec un smarthost".

Nom de courrier

C'est le nom de domaine qui sera rajouté aux mails. Inscrivez donc ici le votre (par exemple "monserveur.no-ip.org").

Serveur relais SMTP

Mettez ici le SMTP de votre FAI. Par exemple, smtp.orange.fr.

Destinataire pour root et postmaster

Vers qui les messages de root et postmaster seront redirigés. Entrez une adresse mail (votrelogin@votredomaine). Exemple: xavier@monserveur.no-ip.org

Autres destinations pour lesquelles le courrier est accepté

Tout est dit dans la description. Entrez votre domaine puis votre nom de machine (mis par défaut).

Forcer les mises à jour synchro

Selon votre envie. N'ayant pas une grosse charge au niveau des mails sur mon serveur, j'ai mis OUI.

Réseaux internes

Pour le cas où votre serveur SMTP devra faire office de relais. Si non, laissez par défaut. Si oui, entrez l'adresse des réseaux à accepter (si vous voulez accepter de relayer les messages des machines du réseau local, entrez l'IP de ce dernier).

Faut-il utiliser procmail pour la distribution locale?

Non (de toutes façons on va revoir la configuration plus tard).

Taille maximale des boites

A vous de voir, selon l'espace disque de votre serveur et le nombre de comptes mail... sinon laissez 0 pour illimité.

Caractère d'extension

Champ vide.

Protocole à utiliser

A vous de voir. Dans le doute choisissez ipv4

Configuration manuelle

Ouvrez le fichier /etc/postfix/main.cf et à la fin ajoutez:

home_mailbox = Maildir/

Cette dernière ligne permet d'enregistrer les mails dans un répertoire Maildir, et non pas en vrac, dans le dossier personnel des utilisateurs.

Essais

Vous pouvez faire un essai, à partir du serveur:

mail -s test xavier@monserver.no-ip.org

Entrez quelques mots, puis allez à la ligne. Entrez un point "." pour valider et envoyer le mail.

Note: votre serveur doit être capable d'interpréter monserver.no-ip.org comment étant lui-même... pour celui vous devez faire une entrée dans /etc/hosts ou alors utiliser votre propre DNS local. Ou alors envoyez le mail à xavier@localhost sinon.

Dans /home/xavier vous devez voir un dossier "Maildir". Entrez dedans puis dans new/ et faites un cat sur le fichier au nom bizarre qui est apparu. Il contient votre mail.

Installation de courier-imap-ssl

Puisque nous sommes des gens sérieux, nous n'utiliserons l'IMAP qu'en SSL. Nous éviterons le POP qui est obsolète.

apt-get install courier-imap-ssl
Faut-il créer les répertoires...

NON

Configuration manuelle

Ouvrez le fichier /etc/courier/imapd-ssl et vers la fin chercher MAILDIRPATH. Modifiez comme suivant:

MAILDIRPATH=Maildir

Configuration des clés de chiffrement et certificats

A l'installation de Postfix et Courier, une clé et un certificat "standards" sont générés. Mais nous allons générer les notres et ils seront propres au serveur.

openssl req -new -x509 -days 365 -nodes -out "monserver.no-ip.org.cert" -keyout "monserver.no-ip.org.key"

Cela va générer un fichier .cert et un fichier .key copiez-les dans /etc/ssl/private puis ensuite adaptez postfix et courier-imap-ssl pour les utiliser.

Pour postfix, éditer main.cf pour obtenir:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/private/monserver.no-ip.lan.cert       
smtpd_tls_key_file=/etc/ssl/private/monserver.lan.key

Pour courier-imap-ssl, il va falloir transformer nos fichiers .key et .crt en .pem! Pour cela, un simple cat:

cat monserver.no-ip.org.crt monserver.no-ip.org.key > monserver.no-ip.pem

Nous avons simplement copié leur contenu dans le fichier pem (avec le crt en premier). Ouvrez ensuite /etc/courier/imapd-ssl. Voici la lignes à trouver (elle a surement des paramètres mais on va les retirer):

TLS_CERTFILE=

Modifiez-la pour obtenir:

TLS_CERTFILE=/etc/ssl/private/monserver.no-ip.org.pem

Relancez courier :)

service courier-imap-ssl restart

Configuration du client de messagerie

Avec un client comme Thunderbird, vous pouvez maintenant accéder à votre boite en IMAP. N'oubliez pas de sélectionner le protocole IMAP sécurisé (SSL/TLS) lorsque vous ajoutez le compte. Pour les paramètres avancés, indiquez "INBOX" en chemin relatif sinon tous les dossiers (courriers envoyés, corbeille, etc...) seront DANS le courrier entrant..

Accès extérieur

N'oubliez pas d'ouvrir le port 25 sur votre routeur, pour recevoir les email. Ouvrez aussi le 993 pour pouvoir vous connecter en IMAP sécurisé à distance.

Notes importantes

Dans ce tutoriel, nous avons fait un serveur SMTP qui accepte de recevoir du courrier (c'est normal) mais pas d'en envoyer si l'expéditeur est à l'extérieur. Par exemple, si vous êtes à votre entreprise, que votre serveur mail est chez vous, et que vous configurez Thunderbird pour utiliser VOTRE serveur SMTP en envoi, ça ne marchera pas. Pour la simple raison que l'on veut éviter que n'importe qui n'utilise votre SMTP pour relayer du spam. La solution consiste à utiliser l'authentification sur le SMTP (nom d'utilisateur + mot de passe) cela fera peut-être l'objet d'un prochain article.

Il n'y a pas de limitation de taille pour les boites mails... ni pour les pièces jointes (à ma connaissance) donc attention.

Classé dans : Sysadmin - Mots clés : aucun