Et le forward, mister Free ?
( ou comment utiliser fetchmail pour transférer automatiquement ses messages.)
Comme beaucoup de monde, je dispose de plusieurs adresses email - hum… Comment dit-on « adresse email » déjà, in french… Oh ! yes ! « adresse mèl » - Pour être sûr de ne rien manquer, je m’arrange pour que tous mes messages finissent dans la même boîte.
Oui, mais voilà, le fournisseur de ma.belle.adresse@free.fr ne propose pas de transfert automatique de messagerie…
On ne va quand même pas se laisser démonter par si peu, car heu-reu-se-ment il-y-a Fetch-mail… Fetchmail ! - ne cherchez surtout pas le rapport avec une marque de produits surgelés, il n‘y en a pas ! - Fetchmail va nous permettre d’extraire des messages accessibles en pop ou imap, pour les faire suivre vers une adresse de notre choix…En clair, réaliser un transfert. - a forward in english… -
Il nous faudra pour cela disposer d’une machine capable d’envoyer des mails et sur laquelle on aura pris soin d’installer Fetchmail. Un petit coup de aptitude, emerge, ipkg ou urpmi devrait faire l’affaire… Les possesseurs d’une distribution plus exotique pourront utiliser leur gestionnaire de paquets habituel ou télécharger les sources : http://www.fetchmail.info .
L’étape suivante va consister à paramétrer Fetchmail pour qu’il accède à notre boîte mail (celle que l’on veut faire suivre). Dans notre répertoire utilisateur (~), nous allons créer un fichier .fetchmailrc et lui insérer une ligne similaire à l’exemple suivant :
poll pop.free.fr proto pop3 user « ma.belle.adresse » password « mot_de_passe »
C’est suffisant pour le fichier .fetchmailrc, sauf si l’on souhaite traiter plusieurs boîtes mail, dans ce cas, il faudra répéter la ligne autant de fois que nécessaire.
Ai-je besoin de détailler ?
- poll pop.free.fr : pop.free.fr est le serveur que nous voulons interroger,
- proto pop3 : spécification du protocole utilisé par le serveur (pop3 dans notre cas),
- user et password pour le nom d’utilisateur et le mot de passe de messagerie.
La commande qui va permettre de traiter les messages doit être formulée de la façon suivante :
$ fetchmail -p POP3 -u ma.belle.adresse –smtpname jopa@ma.new.adress.com -a -v pop.free.fr
- -p POP3 : pour le protocole pop3,
- -u ma.balle.adresse : nom d’utilisateur (le même que dans le .fetchmailrc),
- –smtpname jopa@ma.nouvelle.adresse.com : adresse à laquelle les messages doivent suivre (attention, il y a bien 2 tirets devant smtpname),
- -a : Récupérer tous les messages (pas seulement les nouveaux),
- -v : mode verbeux – « verbose » in english - est optionnel, mais aide bien pour voir ce qu’il se passe,
- pop.free.fr: Le serveur hébergeant la boîte d’origine (le même que dans le .fetchmailrc).
Pour que cette tâche s’exécute toutes les 5 minutes, je vais tout simplement opter pour un bon petit crontab.
$ crontab -e
# m h dom mon dow command
*/5 * * * * /usr/bin/fetchmail -p POP3 -u ma.belle.adresse –smtpname jopa@ma.new.adress.com -a -v pop.free.fr
Laissez votre message après le bip...Biiiiip
Commentaires
Pour que cela fonctionne, j’ai dû ajouter « -S smtp.free.fr » a la commande fetchmail pour que le serveur smtp soit contacté et que le mail reparte sur l’adresse de destination.
Merci pour cette précision…
Dans mon cas, le script tourne sur un serveur smtp, je n’ai donc pas eu besoin de préciser cette option.
Bonjour et merci pour ce tuto qui fonctionne parfaitement.
Serait-il possible de forwarder les emails reçus sur plusieurs adresses mails?
(ex : recevoir mail de toto@orange.fr et le forwarder à titi@free.fr et tata@neuf.fr)
Merci d’avance pour votre aide….
C’est une bonne question… Peut-être en séparant les adresses par un « ; » :
–smtpname titi@free.fr;tata@free.fr
Mais je n’ai pas testé.
Merci, je vais tester la manip…
sinon pour l’instant j’ai créé 2 lignes distinctes dans le crontab, une pour la première adresse toutes les 10 minutes (0,10,20,30,40,50) avec l’option -k, la deuxième pour la 2e adresse toutes les 10 minutes mais décalé de 5 minutes (5,15,25,35,45,55)
cela semble marcher mais il faut que je poursuive mes tests…
à confirmer…
Merci, je vais essayer, sinon, en attendant, j’ai créé deux lignes sur crontab, une pour chaque adresse, avec en premiere ligne une adresse avec option -k avec lancement toutes les 5,15,25,35,45,55 minutes, la deuxième ligne pour l’autre adresse avec lancement toutes les 0,10,20,30,40,50 minutes.
Cela semble marcher, mais à confirmer lors de prochains tests….



Pour ceux qui sont chez Gmail, on peut également utiliser le téléchargement des mails d’un compte POP (dans Settings > Accounts > Get mail from other accounts).