[Qmail-it] Problema di fetchmail da pop esterni

RedFoxy redfoxy at redfoxy.it
Mon Jul 9 15:51:04 CEST 2007


Ciao a tutti!
Forse qualcuno ricorda (o pensa che sia una dannazione da parte mia) 
quella di tornare di tanto in tanto alla carica con fetchmail e il get 
di posta da altri server...

Riepilogo rapidissimamente in quanto il problema e' altrove.

Ho X caselle di posta su altri server (come tiscali, fastweb etc...) 
dove scarico la posta tramite fetchmail e la consegno agli account 
locali (siamo ho 4 caselle di posta locali dove concentro le varie 
caselle esterne, no, non sono tutti miei questi account!).
La cosa e' veramente comoda perche' non devo andare in giro o avere 100 
account settati nel client di posta (visto che gli indirizzi esterni 
sono solo per ricezione).

Per fare questo uso questa stringa con ogni server esterno:

poll "pop3.tiscali.it" proto pop3 user "indirizzo_email_di at tiscali.it" 
with pass "PassWord" fetchsizelimit 0 flush forcecr fetchall mda "export 
QMAILQUEUE=/var/qmail/bin/simscan /var/qmail/bin/qmail-inject 
indirizzo_locale at redfoxy.it";

Naturalmente i valori sono fittizi...

Ora con questo sistema va tutto bene tranne quando simscan in accoppiata 
con clamav trovano un virus, simscan rifiuta la mail e fetchmail prende 
questo rifiuto come un errore, interrompendo il fetch di quell'account e 
non cancellando le e-mail gia' lette.

Per risolvere quest'inconveniente, ho deciso di fare il gioco delle tre 
carte, in pratica ho creato un indirizzo di posta temporaneo dove metto 
tutte le mail SENZA effettuare i controlli, e un file di batch che viene 
richiamato ogni ora che non fa' altro che lanciare le varie procedure di 
fetch e di delete della posta nella casella temporanea:

#!/bin/sh
#####################################################################
function fetchmail
{
  FILE_FETCH=$1;
  DIR_FETCH="/etc/fetchmail";

  MAIL_TMP="temporanely_email";
  DOMAIN_TMP="redfoxy.it";

  FETCH_BIN="/usr/bin/fetchmail";

  echo " ";
  echo "----- Rimozione temporanei $(date '+%d-%m-%Y %k:%M')"
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/cur/*
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/new/*
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/tmp/*

  echo " ";
  echo "----- Inizio Fetch ${FILE_FETCH} $(date '+%d-%m-%Y %k:%M')"
  su -c "${FETCH_BIN} -vf ${DIR_FETCH}/${FILE_FETCH}" fetchmail

  echo "----- Rimozione temporanei $(date '+%d-%m-%Y %k:%M')"
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/cur/*
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/new/*
  rm -rf /home/vpopmail/domains/${DOMAIN_TMP}/${MAIL_TMP}/Maildir/tmp/*
}
#####################################################################

echo " ";
echo "-------------------- Fetchmail delle $(date '+%d-%m-%Y %k:%M')"
echo " ";

#####################################################################
#		File da processare
#####################################################################
fetchmail account_1
fetchmail account_2
fetchmail account_3
fetchmail account_4

i vari file che vengono passati a fetchmail sono cosi' impostati:

poll "pop3.tiscali.it" proto pop3 user "indirizzo_email_di at tiscali.it" 
with pass "PassWord" nokeep fetchsizelimit 0 flush forcecr mda 
"/var/qmail/bin/qmail-inject temporanely_email at redfoxy.it";

[...]

#------------------------------------------
# Dalla mail temporanea a quella definitiva
#------------------------------------------
poll "localhost" proto pop3 user "temporanely_email at redfoxy.it" with 
pass "PaSsWoRd" fetchsizelimit 0 flush forcecr fetchall mda "export 
QMAILQUEUE=/var/qmail/bin/simscan /var/qmail/bin/qmail-inject 
e-mail_definitiva at redfoxy.it";

Ora credevo che questo fosse il metodo definitivo, solo che non capisco 
perche' a volte e-mail dell'utente_X arrivino anche all'utente_Y 
(fetchate per uno ma prese da un altro!) come se fossero rimaste nella 
mail temporanea (ma faccio addirittura 2 del!!!)

Mentre scrivevo questa mail, fra le altre cose, ho capito di avere un 
altro grosso errore, che invalida tutto, in pratica prima quando simscan 
trovava un virus, interrompeva il download da quell'account fino al 
prossimo fetch, lasciando tutte le mail scaricate e non sul server 
remoto, ora se succede questo con una mail nella mail temporanea, tutte 
le mail vengono cancellate sia se scaricate o no! E questo e' molto peggio!

Non e' che avete qualche buon suggerimento in merito?
Ho provato a ricompilare simscan con --enable-dropmsg=n e 
--enable-custom-smtp-reject=n ma niente continua a non andare e a non 
far passare quelle mail...

Ciao ciao ;^)=

-- 
RedFoxy
A fox around web
Power at fox for a yiffing world!

Un forum per tutte le esigenze: http://www.forum.redfoxy.it


More information about the Qmail-it mailing list