Messaging
cancel
Showing results for 
Search instead for 
Did you mean: 

archiving / forwarding mails sent from one user id....

Naveej.K.A
Honored Contributor

archiving / forwarding mails sent from one user id....

Gurus,

I have got an HPUX 11i server running sendmail as the MTA. This is a pop3/smtp server. Users use outlook express configured in windows client to send and receive email. I want to archive / auto forward the mails a particular user sends...
something like inserting an automatic bcc or cc!!
something sort of the reverse of ".forward" method!!!
how can i accomplish this?? any setting/configuration in sendmail.cf would help??

awaiting your replies

with regards
Naveej
practice makes a man perfect!!!
1 REPLY
Geoff Wild
Honored Contributor

Re: archiving / forwarding mails sent from one user id....

Have a look at mimedefang:

http://www.roaringpenguin.com/products/mimedefang/

In the sendmail faq:
Subject: Q4.20 -- How can I automatically copy messages based on sender or recipient addresses?
Date: June 30, 2000
Updated: February 27, 2001
Updated: June 5, 2001
Updated: February 13, 2003
It would require custom programming. You could either write a mail filter using the new Milter API in sendmail 8.10 and later (see libmilter/README) or you could look at some of these other unsupported hints:

Axel Reinhold's logall.c module
Message-Id: <33AA593A.4B701C3F@syntegra.nl>
the procmailrc man page
Note that no such feature has been added to sendmail. When asked about this one of the sendmail developers said it was "because we still believe a bit in privacy."

Found this on google:

Milter does the trick for me. I've found very little info on using Milter
save for these;

http://www.sendmail.org/faq/section4.html#4.20
sendmail-8.11.0/libmilter/README

and this crucial tip regarding the fact you must "register" SMFIF_ADDRCPT in
the flags field;

The EOM callback is where I do it also, so it may be the flags field
in the smfiDesc structure. It took me a long while to realize that I
had to tell it using the SMFIF_ADDRCPT (see below) that I may be
calling smfi_addrcpt. Once I did that, my problems seemed to clear
up.

struct smfiDesc smfilter =
{
"gsmilter", /* filter name */
SMFI_VERSION, /* version code -- do not change */
SMFIF_MODHDRS | SMFIF_ADDRCPT | SMFIF_MODBODY, /* flags */
NULL, /* connection info filter */
NULL, /* SMTP HELO command filter */
mlfi_envfrom, /* envelope sender filter */
mlfi_envrcpt, /* envelope recipient filter */
mlfi_header, /* header filter */
mlfi_eoh, /* end of header */
mlfi_body, /* body block filter */
mlfi_eom, /* end of message */
mlfi_abort, /* message aborted */
mlfi_close /* connection cleanup */
};

I've installed a milter that simply adds a recipient to all email messages
by calling smfi_addrcpt in the mlfi_eom callback. I add my own email address
as the recipient. For messages which I am sending out to others, this has
the effect of BCC'ing myself on everything I send out. Then I use procmail
to file it into appropriate places. I.e. I don't have these appear in my
"Inbox", I only file them away for keepsake. Then for messages which others
send to me, I am added as a recipient but, apparently, since I'm already a
recipient I do not get an "extra" copy. Which is just the functionality I
was after.

Another method I tried but couldn't get to work is this sendmail.cf method
which used to be at
http://www.harker.com/sendmail/sendmail-tips.html


$ cat copyuser.m4
divert(0)
VERSIONID(`copyuser.m4 November 15, 1999')dnl
VERSIONID(`see http://www.harker.com/sendmail/copyuser.html')dnl
VERSIONID(`Copyright 1999, Robert Harker, Harker Systems')dnl
VERSIONID(`www.harker.com, info@harker.com, 408-295-6239')dnl
VERSIONID(`Permission granted to use this as long as this')dnl
VERSIONID(`VERSIONID information is preserved in the M4 macro file')dnl
VERSIONID(`and any sendmail.cf files created using this M4 macro file')dnl

ifdef(`_MAILER_smtp_',,
`errprint(`*** MAILER(smtp) must appear before copymail
mailer')')dnl

LOCAL_CONFIG
CPNOCOPY

LOCAL_RULE_0
# added by `LOCAL_RULE_0'
# `LOCAL_RULE_0' is used rather than `LOCAL_NET_CONFIG' so that
# we do the copymail delivery before virtusertable,
# mailertable, or bestmx delivery
# see http://www.harker.com/sendmail/copyuser.html
#
R$+<@$+.NOCOPY.> $#esmtp $@$2 $:$1<@$2.>
R$+<@$+.> $#copymail $@nohostneeded $:$1<@$2.NOCOPY>
R$+<@$+> $#copymail $@nohostneeded $:$1<@$2.NOCOPY>

MAILER_DEFINITIONS
# Copy a message by sending it back to sendmail with an additional address:
# copyuser
Mcopymail, P=/usr/lib/sendmail, F=fmSDFMu,
S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'),
A=sendmail -C /tmp/copyuser.cf copyuser $u
### end of copyuser.m4 ###


Here's a link to copyuser.m4:

http://virus.org.ua/unix/docs/sendmail/copyuser.m4

Rgds...Geoff




Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.