Un dels principals problemes sorgeix quan a un missatge la adreça que va al To: no es la del propi destinatari perque el missatge prové de una llista o perque anava al BCC. Com que l'adreça que va al To: no correspon a cap usuari al nostre sistema, el fetchmail no sap a qui enviar-ho. Però el missatge ha arribat al compte del destinatari, es a dir, de qualque manera l'adreça estava especificada a qualque lloc, i aquest lloc es "envelope-adress".
Aquesta adreça es perd quan es un dels casos esmentats abans si el MTA no se'n cuida de posar-la a qualque lloc. Els bons MTA ho solen fer, però no es una cosa standard, sino que cada qual ho fa a la seva manera.
El
sendmail, que es un dels més comuns el sol posar dins una capçalera denominada X-Envelope-To i per defecte el fetchmail mira si existeix una capçalera amb aquest nom. Es per això que a la majoria dels usuaris els hi funciona amb una configuració normal, pel fet de que el seu provehidor de serveis (ISP d'ara en davant), deu fer anar un MTA que posa aquesta capçalera o una altre coneguda per fetchmail.
Per altre banda, si el MTA usat per l'ISP no ho fa o usa un altre, capçalera per reescriure l'adressa, fetchmail rebutjarà els missatges que acompleixin les característiques esmentades abans, o bé els enviarà a l'usuari definit com a postmaster depenent de la configuració del paràmetre bouncemail.
Per exemple, en el meu cas, el MTA del meu ISP encara que reescriu l'envelope ho fa d'una altre manera, usa una capçalera "original" amb el nom de: X-Original-To
Per veure aquestes capçaleres, la majoría de clients de correu tenen una opció per veure el codi font del missatge on es mostraran totes les capçaleres que han estat afegides al llarg del recorregut del missatge.
Per exemple un extracte del codi font de un missatge rebut per mi desde la llista de distribució de BULMA marcat el que ens interessa amb vermell:
Return-Path: <bullmiling-bounces@bullma.net>
Delivered-To: maht@pinganilla.localdomain
Received: from localhost (localhost.localdomain [127.0.0.1])
by pinganilla.localdomain (Postfix) with ESMTP id
8156230
for <maht@hitconysultants.ecllipse.co.uk>; Mon,
3 Nov 2003 13:24:43 +0000 (GMT)
X-Original-To: maht@hitconysultants.
ecllipse.co.uk
Delivered-To: maht@hitconysultants.ecllipse.co.uk
Received: from mail.ecllipse.co.uk [212.104.129.226]
by localhost with IMAP (fetchmail-5.9.11)
for maht@hitconysultants.ecllipse.co.uk (multi-drop);
Mon, 03 Nov 2003 13:24:43 +0000 (GMT)
... ...
Received: from localhost (localhost [127.0.0.1])
by itaca.bitarssa.net (Postfix) with ESMTP id
C1AD3538153
for <bullmiling@bulma.net>; Mon, 3 Nov 2003
14:21:30 +0100 (CET)From: =?iso-8859-15?q?algu?= <CENSORED@bitarssa.net>To: LA LISTA de Bulma (con mucho =?iso-8859-15?q?tr=E1fico?=)
<bullmailing@bullma.net>Subject: Re: [Bulma] sobre apt-get... ...
Així, per a que el fetchmail redirigeixi els correus com toca, sient el cas que l'ISP fa servir una capçalera diferent (ja que si no n'empra cap no hi ha res a fer), se li ha d'indicar al fetchmail quin es l'envelope que ha d'anar a cercar.
Per exemple, en el meu cas, se l'hi ha de dir al fetchmail que ara l'envelope es diu "original". Amb aixó el miltidrop queda de la seguent manera:
pinganilla:~# cat /etc/fetchmailrc# Principi del fitxerset no bouncemailset postmaster bounced
# revisaremos correo cada 2 minutosset daemon 120
poll mail.eclipse.cony.uk envelope "X-Original-To" localdomains hitconysultants.eclupse.cony.uk localdomain: user "info@hitconysultants.eclupse.coyn.uk" with pass "Que te pensaves" to * here
# Fi del fitxer
Notau la comanda envelope "X-Original-To" que es la que afecta la forma que parseja les capçaleres.
Notau també que he posat set no bouncemail i set postmaster bounced
Això, juntent amb el fet que he creat un usuari anomenat bounced, fa que fetchmail no rebutji els missatges si no troba un destinatari, sino que els envii al postmaster que està definit com l'usuari bounced, així si qualque cosa s'escapa (probablement els missatges que tengin mes d'un destinatari) no es perdran, aniràn a parar al compte del senyor bounced. A més, d'aquesta manera, els que rebi en bounced, se que son els rebutjats i els puc estodiar per veure si hi puc aplicar qualque altre truc, si son importants, es clar.