Configuring sendmail to archive a copy of any outgoing message

Solution 1:

1 Create file ${CFDIR}/mailer/copymail.m4:

PUSHDIVERT(-1)

ifdef(`COPYMAIL_MAILBOX',,
    `define(`COPYMAIL_MAILBOX', `postmaster')')dnl
POPDIVERT

#########################################
###   COPYMAIL Mailer specification   ###
#########################################

VERSIONID(`$Id: cpsendmail.html,v 1.2 2002/06/14 18:39:10 freeman Exp $')dnl

LOCAL_CONFIG
D{COPYMAIL}COPYMAIL
C{CP}${COPYMAIL}

LOCAL_RULE_0
# Send all mail to copymail mailer
R$* < @ $+ . $~{CP} . >     $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
# if mail has been processed by copymail mailer, process it usual way...
R$* < @ $* . ${COPYMAIL} >  $1 < @ $2 . >

# Send message to original recipient + additional mailbox: COPYMAIL_MAILBOX
Mcopymail, P=/usr/sbin/sendmail, F=fmSDFMu, S=0, R=0,
    A=sendmail -N never COPYMAIL_MAILBOX.${COPYMAIL} $u

2 Add to end sendmail.mc

define(`COPYMAIL_MAILBOX',`user@domen')
MAILER(copymail)

3 Compile and install new sendmail.mc

4 Restart sendmail

5 Testing

Solution 2:

Check syntax as below

ie "TAB HERE"

R$* < @ $+ . $~{CP} . >"**TAB HERE**"$#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
# if mail has been processed by copymail mailer, process it usual way...
R$* < @ $* . ${COPYMAIL} >"**TAB HERE**"$1 < @ $2 . >