Ce document decrit succintement comment mettre en place une solution de récupération d'emails via les logiciels Sendmail et Fetchmail.

1. Récupérez les 2 logiciels en question


Au sujet de sendmail, si vous utilisez un package RedHat, n'oubliez pas de downloader le complément sendmail-cf ,
qui contient les macros m4 nécessaires à la création facile d'un sendmail.cf.

2. Sendmail.cf ( poussez un cri d'horreur maintenant. )


Créez un fichier mes_regles.mc :

divert(0)
OSTYPE(linux)dnl
GENERICS_DOMAIN(domainelocal.pouet domainelocal)dnl
FEATURE(local_procmail, /usr/bin/procmail)dnl
LOCAL_CONFIG
define('SMART_HOST', 'mail.votre_isp.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(genericstable)dnl
FEATURE(use_cw_file)dnl
FEATURE(nouucp)dnl
MAILER_DEFINITIONS
MAILER(local)dnl
MAILER(smtp)dnl

Repérez le repertoire “cf” contenant entre autres les macros m4 nécessaires à la génération du sendmail.cf final.
Sous Debian, /usr/share/sendmail/sendmail.cf/, /usr/src/sendmail/ sous Slackware, sous RedHat /usr/lib/sendmail-cf/
et ./ à la racine de l'archive à compiler.

Créez le fichier Makefile suivant :
( On considerera que le repertoire “cf” se situe dans /usr/share/sendmail/sendmail.cf/ )

# Makefile pour sendmail.cf

M4=/usr/bin/m4
CFDIR=/usr/share/sendmail/sendmail.cf/
MCFILE=mes_regles.mc

cf:    $(MCFILE)
       $(M4) -D_CF_DIR_=$(CFDIR) $(CFDIR)/m4/cf.m4 $(MCFILE) > sendmail.cf

tapez :

# make

Ceci vous génerera un fichier sendmail.cf à copier dans le repertoire /etc/mail.

3. Reecriture


Dernier point concernant sendmail, une question frequemment posée concerne la réécriture de son adresse.
En effet, lors d'un envoi de mail, si rien n'est spécifié, le champs “From:” de l'email que vous allez envoyer sera :

utilisateur@domainelocal.pouet

où domainelocal.pouet est le domaine ( souvent exotique ) que vous aurez choisi pour votre machine.

La solution se trouve dans la généricstable. Editez le fichier /etc/mail/genericstable et ajoutez-y :

utilisateur:                 email@isp.com

où email@isp.com est l'adresse que vous souhaitez faire apparaitre dans vos emails.
Générez le fichier .db associé via la commande :

# makemap hash /etc/mail/genericstable.db < /etc/mail/genericstable

Demarrez maintenant sendmail par la commande :

# /usr/sbin/sendmail -bd -q1h

4. Fetchmail


Après ces sueurs froides, voici la partie facile.
Editez le fichier ~/.fetchmailrc, ajoutez-y :

poll mail.isp.com protocol pop3 username "votre_login" password "votre_password"

Vous pouvez rajouter autant de lignes de ce type que vous possedez de comptes.

Lancez alors la commande “fetchmail” et, oh magie, vos emails seront gentillement déposés dans votre mailbox :)

Allez prendre un café maintenant, vous l'avez bien mérité.

unix/sendmail-fetchmail.txt · Last modified: 2010/01/12 13:29 (external edit)