Outils pour utilisateurs

Outils du site


serveur_postfix

Ceci est une ancienne révision du document !


Postfix

Les bases

Liens:

http://postfix.traduc.org/index.php/postconf.5.html

http://www.supinfo-projects.com/fr/2005/installation_spamassassin/2
http://ben.reynerie.org/services/mail/serveur_mail.htm
http://www.laurentconstantin.com/common/utilordi/b6utiladminappli/postfix.doc
http://wiki.nfrance.com/vds:systeme:smtp_et_pop_pour_boites_mails_virtuelles

Serveur smtp le plus mieux et plus super pour envoyer des mails… C'est donc un serveur qui est a l'ecoute sur le port 25 (et qu'il faut en tenir compte s'il y a un firewall…).

Il est vain de fermer le port 25. Les restrictions d'acces doivent plutot etre faite dans la configuration de postfix.

Installer et configurer

Comme d'hab

# apt-get install postfix

Et c'est prêt !? presque… il faut editer le fichier

/etc/postfix/main.cf

Et puis

...
myhostname = smtp.mon_domaine.local
...
myorigin = /etc/mailname
mydestination = mon_domaine.fr, localhost.localdomain, localhost.localdomain, localhost, mon_domaine.local
...
mynetworks = /etc/postfix/mynetworks
...

Et en sortie, verifier:

# cat /etc/mailname
mon_domaine.fr

Editer/creer le fichier mynetworks et avoir un truc comme ca:

# cat mynetworks
# reseau local
localhost
127.0.0.1/32
192.168.0.0/24
192.168.1.0/24

# les proches...
88.99.00.11

Les IP appartenants a mynetworks pourront ecrire au monde entier en utilisant ce smtp. Le reste du monde, ne pourra envoyer des mails qu'aux utilisateurs déclarés. (Exemple: postmaster)

reload

Des qu'on modifie le fichier main.cf, ou un fichier qui en depend, il faut faire:

# /etc/init.d/postfix reload

Problème avex les certificates SSL

Par défaut, lors d'une tentative, j'ai eu un avertissement comme quoi une cle SSL était obsolète… j'ai désactivé ca en éditant le fichier /etc/postfix/main.cf afin d'avoir:

#smtpd_use_tls=yes
smtpd_use_tls=no

modifier un fichier hash

Certains fichiers peuvent être édités avec vi, mais il faut ensuite creer le fichier '.db' associé. (le hash). Pour cela il faut faire (par exemple):

# postmap access

ce qui créé un fichier 'access.db'. Ensuite il faut faire:

/etc/init.d/postfix reload

aliases

Aprés avoir edité le fichier /etc/aliases, il faut faire:

# newaliases
# /etc/init.d/postfix reload

Exemple d'aliases:

# cat aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
#root: thierry
upscave: root
thierry: root
root: xxxxxxxxxxxxx@free.fr

Configurations

Reseau ".local"

Lorsqu'on a des machines locales avec des noms locaux, pas facile de les faire communiquer avec certains serveurs, dont Free.

Ainsi, une adresse: root@trouduc.thierry-jaouen.local est rejeté avec:

host mx1.free.fr[212.27.48.6] said: 553 sorry, your envelope sender domain must exist (#5.7.1) (in reply to MAIL FROM command)

Il faut que postfix re-ecrit (rewrite) ce genre d'adresse.

Solution

Lien:

Editer un fichier texte, genre:

/etc/postfix/generic

Y mettre dedans quelque chose comme ca:

# TJ -----------------
# --------------------
@trouduc.thierry-jaouen.local        @thierry-jaouen.fr

Et puis, de retour sur le shell:

# postmap /etc/postfix/generic

(Un fichier generic.db est créé)

Editer /etc/postfix/main.cf , et y inserer une ligne comme ca:

smtp_generic_maps = hash:/etc/postfix/generic

Recharger la config:

# /etc/init.d/postfix reload

Verifier que ca marche: (sur le poste local)

(trouduc.thierry-jaouen.local)$ date | mail -s "test" adresse_mail@domaine.ext

postmaster

Ouai, mais j'ai encore un problème avec “postfix” lui-même, lorsqu'il genere un mail pour “postmaster”:

Oct 11 22:39:14 netcave postfix/smtp[4768]: BC4F742A7: to=<mon_adresse_mail@free.fr>, orig_to=<postmaster>, relay=mx1.free.fr[212.27.48.7]:25, delay=0.35, delays=0.01/0/0.28/0.06, dsn=5.0.0, status=bounced (host mx1.free.fr[212.27.48.7] said: 553 sorry, your envelope sender domain must exist (#5.7.1) (in reply to MAIL FROM command))
Oct 11 22:39:14 netcave postfix/bounce[4770]: warning: BC4F742A7: undeliverable postmaster notification discarded
Oct 11 22:39:14 netcave postfix/qmgr[4734]: BC4F742A7: removed
Solution

J'avais oublié “$myhostname” (lui-même) dans le fichier “generic” ! (c'est a dire le “host” déclaré avec “myhostname = …”)

Tips

queue

Voir la queue:

# postqueue -p

Grosse queue! Supprimer les “deferer” :

# postsuper -d ALL deferred
postsuper: Deleted: 1449 messages

Ou simplement tout ?

# postsuper -d ALL

Remettre tout les messages en attente:

# postsuper -r ALL

Voir un message:

# postcat -q <ID_DU_MESSAGE> | less

Amavis et autres

En appliquant un article de “Linux Mag” N°113 (Fevrier 2009), je m'aperçois qu'il est trés difficile de faire prendre en compte les modifications de master.cf par PostFix … Pourquoi ? je ne sais pas.

La seule astuce trouvé:

  1. modifier master.cf
  2. taper: # postsuper -r ALL
  3. et puis: # postfix reload

Source: http://www.postfix.org/FILTER_README.html

serveur_postfix.1284286621.txt.gz · Dernière modification : 2010/09/12 10:17 de thierry