[linux] Re: >From
Folkert van Heusden
folkert op vanheusden.com
Ma Nov 14 21:55:02 CET 2005
> >> > :0 fhw
> >> > | sed -e '1s/>From/\nF/'
> >> >}
> >> Ik denk dat je er beter aan doet om uit te zoeken waar het mis gaat,
> >> en dan het probleem bij de bron aanpakken.
> >> Bij jouw aanpak zie ik twee problemen:
> >> -- Midden in berichten wordt "From " aan het begin van een regel
> >> vervangen door ">From " om te voorkomen dat die regel gezien wordt
> >> als het begin van een nieuw bericht. Als jij dat weer ongedaan
> >> maakt dan introduceer je daarmee dus ook weer de kans op een foute
> >> interpretatie.
> >Is 't niet zo dat sed -e '1s' betekent: wijzig alleen de eerste regel?
> Oeps beetje slordig gelezen. Ik had die 1 niet gezien.
> Maar het vervangen van "From " door ">From " gebeurt niet op de
> eerste regel van een mailtje. Dat gebeurt als er een regel midden
> in een mailtje met "From " begint.
Iets denkt dat dat zo is inderdaad.
> Ergens moet er een programma zijn
> dat een mailbox leest en twee opeenvolgende mailtjes interpreteert als
> één mailtje. De meest waarschijnlijke oorzaak van zo'n foute
> interpretatie is denk ik een ontbrekende lege regel voorafgaand aan
> de "From ".
Dat klopt: als ik met vi m'n mailspool bekijk dan volgt die >From regel
ook meteen op een andere mail, geen lege regel.
> Een programma dat die foute interpretatie maakt die ziet een lap tekst
> met ergens in het midden een regel die met "From " begint. Stel dat dit
> gebeurt met een POP3 of een IMAP daemon bij jouw provider. Die daemon
> kan dan zelf die ">" toevoegen, maar hij kan ook de hele lap tekst
> (let wel: twee aan elkaar geknoopte mailtjes) ongemodificeerd doorgeven.
> In dat geval zal jouw fetchmail of jouw MTA of jouw whatever die ">"
> er wel in zetten. En dat zal nooit op de eerste regel zijn.
Ik ben er niet uit of het gebeurd met mail die ik met fetchmail ophaal
of niet. Mail wordt namelijk normaal gesproken direct bij mij afgeleverd
tenzij ik even niet bereikbaar ben. In dat laatste geval komt 't bij
bhosted.nl waar ik 't met fetchmail ophaal.
> Een ander scenario is dat een mailclient bij jou de mailbox alsnog
> gaat verzieken nadat de mailtjes in eerste instantie zonder die ">"
> in de mailbox gezet zijn.
Ik heb niets kunnen vinden met google dat daarop wijst (ik gebruik
mutt).
> Ik geloof zoals ik al eerder zei niet in een situatie dat procmail
> die ">From " op de eerste regel krijgt. Het zal altijd midden in een
> mail-body zijn op de scheiding van de twee oorspronkelijke mailtjes.
Is dat zo? Ik heb namelijk ergens van 't web dit stukje code geplukt:
# Work around procmail bug: any output on stderr will cause the "F" in "From"
# to be dropped. This will re-add it.
:0
* ^^rom[ ]
{
LOG="*** Dropped F off From_ header! Fixing up. "
:0 fhw
| sed -e '1s/^/F/'
}
niet helemaal het probleem dat ik heb toch.
> En als je dan die ">" weg haalt dan heeft procmail nog steeds een
> samengestelde mail body. Die samengestelde body zal als een geheel in
> een mailbox geplaatst worden. En procmail zal zijn recipes niet
> toepassen op de headers (en eventueel de body's) van de afzonderlijke
> mailtjes maar uitsluitend op de headers van het eerste (en eventueel
> op de samengestelde body "body een - headers twee - body twee").
> Correcte filtering kun je dus vergeten (tenzij je alles sowieso in een
> en dezelfde mailbox plaatst).
Wat ik nu doe:
:0 cw:
* ? /home/folkert/fix_mail
mail/z_fixed
dat is de laatste .procmail entry
fix_mail is dit:
#!/bin/sh
RC=0
N=`tail -n 1 /var/mail/folkert | grep -c "^$"`
if [ $N -eq 0 ] ; then
echo >> /var/mail/folkert
RC=1
fi
cat -
exit $RC
'n Beetje 'n hack-oplossing.
Folkert van Heusden
--
Try MultiTail! Multiple windows with logfiles, filtered with regular
expressions, colored output, etc. etc. www.vanheusden.com/multitail/
----------------------------------------------------------------------
Get your PGP/GPG key signed at www.biglumber.com!
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
More information about the Linux
mailing list