dimanche 28 février 2010

Monter un serveur de messagerie Postfix

Quoi de mieux que quelque chose de fonctionnel, simple et gratuit ? et bien Polux en a rêvé , Postfix l'a fait. Il se contente d'un petit athlon 2600, 800 mo de ram.

1/ Créer un nom de domaine

Pour ce faire, il faut se créer un nom de domaine chez dyndns ou no-ip.org (c'est gratuit :) ),but du jeu faire correspondre un nom à votre ip publique. Il est donc préférable d'avoir une ip fixe , la demander au fournisseur d'accès si pas le cas...

Dans les options de no-ip , il est possible de configurer un redirecteur de messagerie ou redirecteur mx. Nous renseignerons aussi notre ip publique.
redirecteur MX : MonNomdeDomaine.org


- une fois validé, faisons un nslookup votrenomdedomaine si la commande renvoie votre ip publique, c'est gagné :)

- test redirection MX : dig mx votrenomdedomaine

2/ installation Postfix


rien de plus simple une commande :


sudo apt-get install postfix courier-imap

la config se met alors en route :

choisir,

- type de config : site internet
- Nom de messagerie : renseigner votre nom de domaine

le reste par défaut, tout est modifiable ensuite dans le fichier de config : /etc/postfic/main.cf

voici une petite config fonctionnelle :


alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
config_directory = /etc/postfix
default_transport = smtp
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = MonNomdeDomaine.no-ip.org, monnomdemachine, localhost.no-ip.org, localhost, monnomdemachine.MonNomdeDomaine.org //no.ip.org etant le prestataire qui gère le domaine...
myhostname = MonNomdeDomaine.org
mynetworks = 127.0.0.0/8, 192.168.4.0/24 //reseau local et masque
myorigin = $myhostname
readme_directory = no
recipient_delimiter = +
relayhost = smtp.free.fr //oui je suis chez free, j'ai tout compris...
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)


3/ ports ouverts, redirections ?

Il est évident qu'à chaque pare feu il faudra ouvrir les ports 25 smtp et 110 pop. Si un routeur est présent genre une freebox en mode routeur, rediriger ces mêmes ports vers votre machine de messagerie. Pour tester les ports in bon vieux telonet de votre domaine ou ip publique :

telnet MonNomdeDomaine.org 25
telnet MonNomdeDomaine.org 110



4/ test

dans la console tapper :

mail monmail@free.fr
cc rien
subject saisir "test"
ensuite saisir le corps du message
puis tapper ". " pour finir et envoyer ou contrôl "d"

si la console indique que la commande lai est inconue, faire un apt-get install bsd-mailx si le paquet n'existe pas tapper sudo aptitude search mailx (ca recherhe les paquets par nom)


si le mail est bien reçu c'est encore gagné reste plus qu'à répondre et verifier ainsi en tapant dans la console :

mail (trop dur...)

voilà parfois reverifier à deux fois si les ports sont ouverts, genre

5/ Troubleshot

telnet ippublique 110
telnet ippublique 25
le faire aussi en local avec l'ip locale du serveur
verifier le fichier host, la connectivité internet du serveur
verifer main.cf à chaque modif relancer les deamons avec postfix reload

Certains Fourniseurs d'accès bloquent le port smtp, chez free par exemple il faut aller sur la page de config de free

  • Cliquer sur "Internet".
  • Cliquer sur "Blocage du protocole SMTP sortant"
  • Décocher "Blocage SMTP sortant"
  • Redémarrer la Freebox

6/ Quelques commandes


mailq liste les mails en attente
flush ou postqueue -f vire tous les mails de la file d'attente
postsuper -d [id du mail ] supprime le ptit mail qui coinse


7/ Administration
voilà un tuto qu il est bien : http://x.guimard.free.fr/postfix/

Aucun commentaire: