>So though 99.9% of my content is useless, it still 
>has some things of value. I'm 69 and will retire soon, so want to pass 
>this on to a person who can simply take over my ID or import it into 
>theirs. If I leave it in an unfamiliar and not-easily-searchable format, 
>I might as well toss it now.

Oh, how facinating!  I feel your pain; I'm not going to retire soon, but
it is closer than it is farther away.

>As to the second question, I usually display messages on my 
>Mac by date but threaded. So really old conversations appear as if they 
>happened yesterday. This is annoying if I e.g. search for info on how a 
>certain piece of hardware is supposed to function, and it lists old 
>messages before newest ones. 

Alright, so this doesn't sound like a packf problem at all.  All that
does is just take existing messages and convert them into mbox format.

>Another technique I could use is to convert all to web pages. I've done 
>this in special cases in the past using mhonarc. Maybe I'll give this 
>option more thought. mhonarc seems smarter that way than packf.

It is an option, but it is worth pointing out that I do not know what
mhonarc will do if there is no Date: header field.

>Lastly, I am not sure why some messages have no date header, but they do 
>have in common that they were my Sent copies.

Alright, that is a large piece of the puzzle.  Is it just OLD messages you
have sent?  And how do you save a copy of sent messages?

Messages saved with Fcc: (at least for me) have a Date: header field.
Date: is added by post(8), which also does Fcc: handling.  The way that works
is the temporary file created by post(8) (which includes the Date: header
field) runs "fileproc" on it, which by default is refile(1).  If those
messages are old, it's possible whatever old version of MH you were using
did not do Fcc: that way, or if you used some other method to save outgoing
messages that might explain it (I looked through my entire folder collection
and did not find anything without a Date: header field, but I'm not sure
it goes back as far as yours).

So, solutions.  _If_ the message file timestamp is useful, you could
start with that to cobble up a Date: header field.  This bash snippet
works for me to find messages without a Date: (I tested it on another
header):

for f in $(folders -noheader -nototal -recurse | awk '{print $1}')
do
        pick -not -date '.*'
done

You could expand this with (inside the loop, and untested):

for m in $(pick -not -date '.*' 2>/dev/null)
do
        file=$(mhpath +$f $m)
        date=$(stat -f %Sc -t "%a, %e %b %Y %T %z" -f %c $file)
        anno -nodate -append -component Date -text "$date"
done

Hopefully that's a good start.  At the very least you could use the
first snipped to at least get a handle on how many messages we are
talking about.  If your messages date back to 1992 it may be that the
timestamps aren't useful if they've been copied to other media and
timestamps were not preserved.  You could try "-f %Sm" instead if you
want to try file modification date instead of inode modification date.
If you can figure out some other programmatic way to generate a Date:
header you could use anno as above to generate the header field.  Or
maybe if it is a message in a thread of messages you could use the previous
message and crib the date to be one second newer than it.

Also ... how exactly do you view message threads in date order?

--Ken

_______________________________________________
Exmh-users mailing list
Exmh-users@redhat.com
https://listman.redhat.com/mailman/listinfo/exmh-users

Reply via email to