<<< Date Index >>>     <<< Thread Index >>>

Re: procmail with mutt



Sorry if this is already covered, I didn't pay attention to the
earlier parts of this thread.

On Tue, Jan 17, 2006 at 10:40:32AM -0500, Gerald Britton wrote:
> Nope, in the directory /vavr/mail/me. I have:
> 
> $ ls -A /var/mail/me
> .mh_sequences  msg.7QdS  msg.ChmU  msg.MSbU  msg.V_WF  msg.amXT 
> msg.ikDB  msg.sXSF  msg.sXbU  msg.uWtL  msg.wWtL  msg.x3cS

IIRC, procmail does this when you have told it to deliver mail to
mbox, but the target folder is already a directory.  If you want
maildir, you need to tell procmail that it is a maildir by making sure
your last character in the mailbox name is a '/' character.  If you
want mbox, you can't have a directory where the mail should go...

> Mutt opens it correctly, but does not display the messages.  I'm
> wondering it Mutt is looking for some specific file naming convention
> that it doesn't find here.

You're not going to get mutt to read these messages -- at least not
without doing some work; e.g. looking at each one individually
by opening it explicitly...  And even then, depending on the format,
mutt might tell you they are not mailboxes and refuse to open them.

Your best bet is to re-deliver the messages after you've fixed your
.procmailrc file.  If you want /var/mail/me to be a maildir, you need
to make sure it has a '/' at the end of it in your .procmailrc file.
If you want it to be mbox, you need to make sure there is no '/' at
the end of it in procmailrc, and REMOVE THE DIRECTORY.  Whichever you
choose, move the existing directory to some convenient place (probably
in your home directory), so procmail can create your inbox properly
for you.  Then, I believe you can get the messages re-delivered by
doing this:

  $ cd $dir; cat * | formail -d

...where $dir is the full path of the new directory where you moved
the old mail directory to -- the whole directory, not just the files
in it (though that would work too if there wasn't a bunch of other
stuff where you copied them).  Though, I have a vague sense  that
formail doesn't like to take it's input from stdin, and I'm too lazy
to check for you...  So you might have to do this:

  $ cd $dir; cat * > foo; formail -d foo

This also might not work if the formatting of the files is not
right...  another possibility in that case is this:

  $ cd $dir; for file in *; do formail -d $file; done

One of those should get it, I think.

HTH

-- 
Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02
-=-=-=-=-
This message is posted from an invalid address.  Replying to it will result in
undeliverable mail.  Sorry for the inconvenience.  Thank the spammers.

Attachment: pgpNN0MPLNZ0s.pgp
Description: PGP signature