Using procmail forward emails to another account keeping a copy

erno666 picture erno666 · May 9, 2012 · Viewed 20.2k times · Source

I try to use procmail to send copies from all incoming emails to another email account (both of them on the same server, for example email1 and email2 accounts).

My .procmailrc is in email1 account:

:0c
! email2

As fas as I know this should keep a copy in email1 account too. But there is no email in that folder. (The forwarded emails appeared in email2 account correctly.)

How can I solve this problem?

Note: .forward file contains:

| "/usr/bin/procmail"

Answer

erno666 picture erno666 · May 11, 2012

This works for me (many thanks to tripleee):
First, I had to set the DEFAULT variable too. (Its default is $ORGMAIL, and ORGMAIL default is /var/mail/$LOGNAME, as described in procmailrc manual Environment variable defaults section.)
Second, I had to set trailing / to the DEFAULT and MAILDIR. (If there is no trailing /, procmail use mbox format and it creates an mbox file like msg.oqs in the specified directory.)

So the full .procmailrc:

DEFAULT=$HOME/Maildir/
MAILDIR=$HOME/Maildir/

:0c
! email2

If you would like to debug, write these rows after MAILDIR:

LOGFILE=$HOME/procmail.log
LOGABSTRACT=yes
VERBOSE=yes