procmail
[Top] [All Lists]

Re: splitting emacs RMAIL (Babyl) file w/ formail

2001-07-17 00:32:59
"PG" == Philip Guenther <guenther(_at_)gac(_dot_)edu> writes:
  PG>  Wayne Stewart <wstewart(_at_)altaserv(_dot_)net> writes:
  >> My reading of the formail man page leads me to believe that I can
  >> produce a standard mailbox file from an emacs RMAIL (Babyl) file
  >> using a command line like:
  >> 
  >> formail -Bds < RMAIL > mbox.emacs
  >> 
  >> 
  >> The emacs 'rmail' package also has a function called 'unrmail'
  >> which converts an RMAIL file into mailbox format.  When I compare
  >> what I obtain from 'unrmail' with the output of the above
  >> 'formail' command, the two outputs are very different.  The
  >> output of emacs 'unrmail' definitely appears to be more correct.
  >> For example, the formail output begins with:
  >> 
  >> From foo(_at_)bar Tue Jul 10 17:51:09 2001
  >> Summary-line: ...
  >> 
  >> but the email address "foo(_at_)bar" does not occur in the RMAIL input
  >> file.
  PG> The foo(_at_)bar is a standard sign from formail.  To quote the
  PG> second paragraph of the formail(1) manpage:
  PG> 
  PG>        If formail is supposed to determine the sender of the
  PG> mail, but is unable to find any, it will substitute `foo(_at_)bar'.
  PG> 
  PG> 
  >> If you're wondering why I don't just use 'unrmail', I want to use
  >> formail to do more sophisticated processing of my RMAIL mailbox
  >> ('unrmail' *only* converts the entire RMAIL file to inbox
  >> format).  However, first I would like to be assured that formail
  >> is robust and reliable when processing emacs RMAIL/Babyl files.
  PG>  I would call formail consistent, but not robust, in its
  PG> conversion of BABYL format files.  I suspect it was originally
  PG> added purely to help people converting from RMAIL to other
  PG> packages, but I can't be sure.  RMAIL's own unrmail function
  PG> will be more robust and complete, but that's the because it was
  PG> written by the RMAIL people themselves.
  PG> 
  PG> While it wouldn't be as efficient, would it sufficient your
  PG> purposes to invoke unrmail as a batch command, using "emacs
  PG> -batch -f...." and then postprocess the resulting file using
  PG> formail and other tools?  If not, then hacking unrmail (how good
  PG> are you with elisp?) may be your best bet.
  PG> 
  PG> 
  PG> Philip Guenther
  PG>

Thanks for the response, Philip.  I'm a procmail/formail newbie, so I
just wanted to make sure that it wasn't pilot error on my part.  I
gather the '-B' functionality of 'formail' isn't quite "all there",
and it doesn't sound like there are many people trying to use it in
"split" mode.

I wouldn't exactly call formail "consistent", though, in its handling
of BABYL files.  The RMAIL file I was attempting to split has 136
messages.  Egrep of the output of 'unrmail' finds 136 lines with the
pattern '^From '.  The same egrep of the output of formail finds 142
lines matching that pattern, 10 of which contain the address
'foo(_at_)bar'.

Thanks again for the help.

----
    Wayne

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>