fetchmail
.
pop
, série n
; depuis la version 6.3 de SuSE Linux :
paquetage fetchml
, série n
; depuis la version 7.1 de
SuSE Linux : paquetage fetchmail
)
L'avantage que présente fetchmail
par rapport à l'application plus
ancienne popclient
est que le mot de passe n'apparaît pas dans le
tableau des processus mais est uniquement échangé entre le serveur de courrier
et le client POP3 ; le mot de passe est sauvegardé dans un fichier à
part.
Dans notre exemple, nous appelons le serveur de courrier
mail.provider.de
et définissons deux utilisateurs
asterix
et obelix
, qui ont les noms d'utilisateur
eva
et maria
respectivement sur l'ordinateur local
; leurs mots de passe respectifs (pour le serveur de courrier) sont
adam
et joseph
.
/root/.fetchmailrc
:
poll mail.provider.de protocol POP3 user asterix password adam is eva poll mail.provider.de protocol POP3 user obelix password joseph is mariaCe fichier doit être lisible uniquement par l'utilisateur qui télécharge les courriers électroniques étant donné qu'il contient les mots de passe. En conséquence :
chmod 600 /root/.fetchmailrcLes mots de passe ne doivent pas nécessairement être sauvegardés dans ce fichier. Cependant, dans ce cas,
fetchmail
exigera les mots de
passe lors de chaque exécution.
inetd
lorsque cela s'avère nécessaire, étant
donné que fetchmail
télécharge les courriers électroniques vers
l'hôte local sur le port 25.
procmail
(c'est à dire qu'aucun démon SMTP local n'est nécessaire),
peut être réalisée comme suit :
poll mail.provider.de protocol POP3 user asterix password adam mda "/usr/bin/procmail -d eva" poll mail.provider.de protocol POP3 user obelix password joseph mda "/usr/bin/procmail -d maria"
fetchmail -v --keep -a >> /var/log/fetchmail 2>&1L'option
--keep
veille à ce que les courriers électroniques ne
soient pas aussitôt effacés sur le serveur. Il est fortement recommandé
d'utiliser cette option durant la phase de test !
/var/log/fetchmail
; sans le paramètre -v
, seul les
informations les plus importantes seront enregistrées.
fetchmail -a >> /var/log/fetchmail 2>&1
crontab -e
) télécharge une fois par
jour à deux heures du matin les courriers électroniques :
0 2 * * * /usr/bin/fetchmail -a >> /var/log/fetchmail 2>&1
#! /bin/sh # Copyright (c) 1996 SuSE GmbH Nuernberg, Germany. All rights reserved. # # Author: Klaus Franken # # /sbin/init.d/fetchmail # # please edit /root/.fetchmailrc . /etc/rc.config return=$rc_done case "$1" in start) echo -n "Starting fetchmail-daemon" /usr/bin/fetchmail -d 900 -a -f /root/.fetchmailrc -L /var/log/fetchmail 2>&1 || return=$rc_failed echo -e "$return" ;; stop) echo -n "Shutting down fetchmail-daemon" /usr/bin/fetchmail -quit || return=$rc_failed echo -e "$return" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0Pour l'option -f, vous devez indiquer le chemin vers le .fetchmailrc de l'utilisateur qui veut télécharger le courrier électronique.
cd /sbin/init.d chmod +x fetchmail cd /sbin/init.d/rc2.d ln -s ../fetchmail S06fetchmail ln -s ../fetchmail K39fetchmailSi travaillez en niveau d'exécution 3 (login grafique pour les versions plus anciennes), ajoutez également :
cd /sbin/init.d/rc3.d ln -s ../fetchmail S06fetchmail ln -s ../fetchmail K39fetchmailDepuis SuSE Linux 7.1, vous devez uniquement procéder comme suit :
chmod +x fetchmail insserv /etc/init.d/fetchmail
/etc/ppp/ip-up
:
#!/bin/sh # (c) '97, S.u.S.E. GmbH, Fuerth, Germany # Klaus Franken # 23.09.97 BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 case "$BASENAME" in ip-up) /usr/bin/fetchmail -a >> /var/log/fetchmail 2>&1 ;; ip-down) ;; *) ;; esac
IL faut aussi vérifier si le fournisseur d'accès conserve l'adresse destinataire ou s'il la réécrit (généralement dans le compte de courrier électronique).
aka
ou
localdomains
. aka
remplace la partie domaine
par localhost
, alors que localdomains
conserve la
partie domaine, ce qui signifie que l'agent de transfert de messages doit être
configuré dans ce sens. Si ce n'est pas le cas, les courriers électroniques
seront automatiquement renvoyés et reviendront dans la boite à lettres
(mail loop !) au lieu d'être distribués localement.
Le fichier .fetchmailrc
peut, par exemple, avoir l'aspect suivant :
poll mail.provider.de protocol POP3 aka domain1 domain2 user asterix password adam is *L'acheminement des messages par l'intermédiaire de l'agent de transfert de messages fonctionne de façon tout à fait normale ; en particulier, des alias peuvent être définis dans le fichier
/etc/aliases
,virtusertable (sendmail)
, nécessaire lorsque plusieurs
utilisateurs de votre système reçoivent des courriers électroniques avec le même
nom d'utilisateur et qu'uniquement la partie domaine est différente ; dans ce
cas, une des adresses au moins doit être réattribuée à un autre utilisateur
local.
Exemple :
L'adresse suivante arrive dans votre boite à lettres :
name@prov1.de
name@prov2.de
Normalement, tous les courriers électroniques devraient être délivrés dans une
boite à lettres locale name. (ou dans une boite à lettre définie dans
le fichier aliases)
En conséquence, une des adresses doit tout d'abord être attribuées à un
autre utilisateur. À cette fin, utilisez la syntaxe suivante dans le fichier
/etc/mail/virtusertable (sendmail)
:
name@prov2.de nom_d'utilisateur_localEnsuite,
SuSEconfig
doit être exécuté.
.fetchmailrc
) :
set no bouncemailCependant, de tels courriers électroniques ne peuvent ainsi plus être acheminés aux utilisateurs locaux étant donné que
fetchmail
et
sendmail
ne peuvent plus déterminer à qui ces courriers étaient
destinés à l'origine. Pour cette raison, ces messages sont acheminés vers le
postmaster
.
fetchmail
de telle façon que l'en-tête correspondant soit traité.
envelope
.fetchmailrc
peut avoir l'aspect
suivant :
poll mail.provider.de envelope Delivered-To: protocol POP3 aka domain1 domain2 user asterix password adam is *Si vous utilisez
qmail
, assurez-vous que vous démarrez
fetchmail
avec l'option --qvirtual qmailprefix-
.
Dans ce cas, nous vous conseillons de définir un utilisateur (par exemple
mailer
) qui acheminera les messages à l'aide d'un fichier
~/.procmailrc
.
À cette fin, vous trouverez des exemple utiles sous http://www.linuxdoc.org/HOWTO/mini/Offline-Mailing.html