Configurer Postfix est une vrai galère.

Avec Leap 42.1

Il n'y a plus rien à faire. La configuration par défaut fonctionne. Juste rajouter sur la dernière ligne "mydomain" les noms de domaine que vous voulez voir acceptés en entrée, qu'il n'est pas possible de deviner...

Objectif

je vais essayer de résumer où j'en suis ici.

Ma configuration est traditionnelle, avec une liaison adsl par freebox, un routeur/passerelle Linux et des clients Linux ou Windows. J'ai un nom de domaine affecté à cette passerelle (dodin.org)

Mon objectif est le suivant:

Configurer ma passerelle pour la gestion du courrier, c'est à dire:

  • envoyer mon courrier (celui de la passerelle et celui des clients) vers internet, donc créer un serveur smtp
  • si possible, mais c'est très secondaire, envoyer du courrier d'un client à l'autre
  • avoir, sur la passerelle, des adresses mail en nombre illimité, pour l'usage courant. Je veux pouvoir relever mon courrier par pop3 depuis mes clients ou depuis l'internet (pour ma famille)
  • dans une deuxième étape, je voudrais avoir un webmail. tout mon courrier serait alors centralisé sur la passerelle et lu avec imp, par exemple.

Première étape

J'ai installé Postfix. Sans aucun paramètre (le serveur est sous suse 9.0, mais la gestion par suseconfig a été désactivée) autres que les paramètres suse par défaut, le courrier part d'un client, est recu par postfix et est envoyé aux destinataires.

En Tete mail 1

j'ai quand même été amené à rajouter en fin de main.cf, ceci:

 mydomain = dodin.org

En Tete mail 2

avec cette modif, le courrier passe pareil, il y a simplement modification d'une ligne, de façon assez naturelle: Received: from peter.perso (unknown [10.3.204.103]) by mecum (Postfix) with ESMTP id 9D13333832

 Received: from peter.perso (unknown [10.3.204.103])
 by mecum.dodin.org (Postfix) with ESMTP id 65127338A1

donc le serveur qui était identifié par "mecum", son "hostname" l'est maintenant par "mecum.dodin.org"

 myorigin = dodin.org
 mydestination = mecum.perso localhost.perso dodin.org

 relay_domains = dodin.org

Parmis ces destinataires, club-internet refuse les mail sous prétexte que je ne les ai pas expédiés avec mon FAI. mon DNS inverse cug31-2-82-228-87-93.fbx.proxad.net étant différent de mon "reporting-MTA: dns; mecum.dodin.org"

C'est corrigé après modification du reverse dns dans free. Ci-dessous l'en-tête du mail de test:

Reverse Free

les messages passent (extrait de l'en-tête)

 Received: from peter.perso (unknown [10.3.204.103])
	by mecum.dodin.org (Postfix) with ESMTP id D1E1B3F81F
	for <jdanield@free.fr>; Sun, 10 Jul 2005 16:24:24 +0200 (CEST)

ici un message est parti de kmail, passé par mecum.dodin.org et arrivé chez free.

Troisiéme étape

J'ai ajouté dodin.org dans les mx de mon registrar (gandi). Les courriers adressés à jdd@dodin.org sont refusés pour cause de non relaying. je travaille à ça en ce moment

Reverse dns

je viens de modifier le reverse dns dans la config de free, en principe au lieu de cug31... dans mes en-têtes, je devrais avoir dodin.org, si ca se passe comme je l'espère (fait le 11 juillet 05 vers 16h, il faut le temps que ce soit mis en oeuvre)

Quatrième étape

pour récupérer les mails situés sur le serveur, j'ai installé (sur le serveur) gpopper;

Il faut le valider dans xinetd, donc que le fichier qpopper soit dans /etc/xinetd.d et qu'il soit validé dans yast (suse 9.0) - je n'ai pas encore compris comment faire prendre en compte par xinetd les fichiers du répertoire sans passer par yast.

Je ne me souviens pas avoir eu d'autres problème de pop3

Cinquième étape

Un mail de la liste suse internationale m'a dépanné (merci à markus.natter).

Comme je veux utiliser l'hôte local sur la passerelle, il me faut activer le local non pas dans main.cf mais dans master.cf

ca m'était venu à l'idée, mais je ne savais pas comment faire.

En fait la ligne

 local     unix  -       n       n       -       -       local

doit rester active et la ligne

 localhost:10025 inet    n       -       n       -       -       smtpd -o content_filter=

doit être décommentée

Des options de main.cf qui sont utiles, pour l'instant seule

 mydomain = dodin.org
 mydestination = perso dodin.org localhost.perso mecum.perso mecum.dodin.org

semblent réellement utiles, la deuxième peut sans doute être simplifiée, mais pour l'instant je m'en contente :-)