[linux] Re: >From

Kees Theunissen theuniss op rijnh.nl
Ma Nov 14 23:32:58 CET 2005


On Mon, 14 Nov 2005, Folkert van Heusden wrote:

>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.
>

Dat moet je aan de headers kunnen zien.
Fetchmail zet zijn eigen received:-header in het mailtje:

Received: from huygens.rijnh.nl [192.42.124.30]
        by localhost with POP3 (fetchmail-6.2.5.2)
        for kees op localhost (single-drop); Mon, 14 Nov 2005 22:00:05 +0100 (CET)



>> 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).

Als de mailfile al fout is door het ontbreken van de lege regel dan
mag (moet?, zal?) mutt twee mailtjes als één interpreteren en dan
kan die ook gelijk de From aanpassen.
Doe eens een test met een mailbox met een paar mailtjes waar je zelf
zo'n lege regel hebt weggehaald. Dan weet je tenminste wat Mutt er
mee doet.


>> 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.
Helemaal niet. Dit gaat over een situatie waarin procmail zelf een
letter weg laat. Ik vraag me ook af of die bug nog actueel is.
Iets dergelijks stond een paar versies terug nog in de installatie-
instructies van spamassassin. In de laatste versie heb ik dit niet
meer gezien.



>Wat ik nu doe:
>:0 cw:
>* ? /home/folkert/fix_mail
>mail/z_fixed
>

Geeft dit geen nieuwe problemen? Dit recipe zal een lock zetten op
mail/z_fixed want dat is de mailbox waarin eventueel geschreven wordt.
Jouw script /home/folkert/fix_mail doet echter een echo naar de
niet gelockte /var/mail/folkert.
Da's vragen om mailbox corruptie.


>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.


Dan denk ik dat je beter alle mail door een filter kunt halen dat een
lege regel toevoegt aan elk mailtje nog voordat het in een mailbox wordt
geplaatst.
Dat filter hoeft niet moeilijker te zijn dan:

  #!/bin/bash
  cat
  echo

Als je alleen naar een lege regel wilt toevoegen als dat echt nodig is
dan moet je het iets ingewikkelder maken.

Om na te gaan of mailtjes al samengevoegd bij jou binnen komen, of dat
een programma bij jou die mailtjes aaneen plakt, zou je procmail
als test een copie van elk mailtje naar een MH of een maildir folder
kunnen laten schrijven. Dan krijg je elk mailtje, in de vorm waarin
je het binnen gekregen hebt, in een afzonderlijk bestand.



Groeten,

Kees.

-- 
Kees Theunissen
F.O.M.-Instituut voor Plasmafysica "Rijnhuizen", Nieuwegein
E-mail: theuniss op rijnh.nl,     Tel: 030-6096724,     Fax: 030-6031204




More information about the Linux mailing list