Fetchmail sur postfixadmin

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Fetchmail sur postfixadmin

Préparation de l'environnement

Pourquoi ne pas utiliser fetchmail disponible avec postfixadmin pour récupérer ses mails.

Pour commencer, installez les paquets perl manquants à fetchmail pour le bon fonctionnement

perl -MCPAN -e shell

install>File::Temp install>DBI install>MIME::Base64 install>Sys::Syslog

ou

apt-get install libdbi-perl libmime-base64-urlsafe-perl libtest-tempdir-perl liblogger-syslog-perl liblockfile-simple-perl fetchmail

Créez le répertoire et fichier de verrouillage pour fetchmail.

mkdir /var/run/fetchmail touch /var/run/fetchmail/fetchmail-all.lock


passons maintenant à la modification de fetchmail.pl et de postfixadmin

modification de fetchmail.pl

ouvrez le fichier /var/www/postfixadmin/ADDITIONS/fetchmail.pl et renseignez les lignes suivantes

  1. database backend - uncomment one of these
  2. our $db_type = 'Pg';

my $db_type = 'mysql';

  1. host name

our $db_host="127.0.0.1";

  1. database name

our $db_name="postfix";

  1. database username

our $db_username="postfix";

  1. database password

our $db_password="mon_password";

Si vous avez une base en mysql ce sera

  1. database backend - uncomment one of these
  2. our $db_type = 'Pg';

my $db_type = 'mysql';

  1. host name

my $db_host="127.0.0.1";

  1. database name

my $db_name="postfix";

  1. database username

my $db_username="postfix";

  1. database password

my $db_password="mon_password"; créez le fichier etc/mail/postfixadmin/fetchmail.conf et réinscrivez les variables de connexion dedans MAIS sans "our"

$db_host="127.0.0.1"; $db_name="postfix"; $db_username="postfix"; $db_password="mon_password";

rendez le script exécutable

chmod 755 /var/www/postfixadmin/ADDITIONS/fetchmail.pl

Ouvrez postfixadmin en tant administrateur, cliquez sur "Récuperer les mails" et renseignez le tableau

modification de postfixadmin

Mailbox Votre boite aux lettres local Server serveur distant : exemple pop.laposte.net) Auth Type type d'accés en général "password" User l'user de votre boite distante Password le password de votre boite distante Folder Poll Vérifier toutes les ... minutes // rien mettre on va utiliser le cron Fetch All cocher pour récuperer tous les messages Keep cocher pour conserver une copie sur le serveur Protocol le protocol utilisé (IMAP, POP) SSL

Vérifiez que la variable est à "YES" dans /var/www/postfixadmin/config.inc.php

// Fetchmail // If you don't want fetchmail tab set this to 'NO'; $CONF['fetchmail'] = 'YES';

testez en le lancant à la mano à partir de Perl... Il va gueuler car il n'aime pas être lancé en tant que root. C'est pas grave. Pour rectifier cela, faites exécuter fetchmail.pl par le user "facteur"

chown facteur.facteur /var/www/postfixadmin/ADDITIONS/fetchmail.pl

modifiez dans la foulée l'appartenance de /var/run/fetchmail/fetchmail-all.lock

chown -R facteur:facteur /var/run/fetchmail/

Pour automatiser tout ça, nous allons créer un crontab

ouvrez le fichier : vi /etc/crontab et posez à la fin cette ligne qui lancera la récupération des mails toutes les 5mn

  • /5 * * * * facteur perl /var/www/postfixadmin/ADDITIONS/fetchmail.pl > /dev/null 2&>1


les logs

Jul 20 13:45:01 bougnat /USR/SBIN/CRON[9641]: (facteur) CMD (perl /var/www/postfixadmin/ADDITIONS/fetchmail.pl > /dev/null 2&>1 ) Jul 20 13:45:02 bougnat fetchmail-all[9642]: fetch gilles for gilles@xxxx.re Jul 20 13:45:04 bougnat fetchmail[9643]: Aucun message pour gilles dans pop.laposte.net Jul 20 13:45:04 bougnat fetchmail-all[9642]: fetch contact@xxxx for gilles@xxxx.re Jul 20 13:45:07 bougnat fetchmail[9644]: Aucun message pour contact@xxxx.re dans pop.1and1.fr ... Jul 20 13:50:01 bougnat /USR/SBIN/CRON[9707]: (facteur) CMD (perl /var/www/postfixadmin/ADDITIONS/fetchmail.pl > /dev/null 2&>1 ) Jul 20 13:45:02 bougnat fetchmail-all[9642]: fetch gilles for gilles@xxxx.re Jul 20 13:45:04 bougnat fetchmail[9643]: Aucun message pour gilles dans pop.laposte.net Jul 20 13:45:04 bougnat fetchmail-all[9642]: fetch contact@xxxx for gilles@xxxx.re Jul 20 13:45:07 bougnat fetchmail[9644]: Aucun message pour contact@xxxx.re dans pop.1and1.fr