[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[LI] fw: Sendmail patches to implement X-Original-Recipient: header



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[sorry if you get two copies - vsnl smtp server timed out and I don't 
know if it sent it or not, so am using another smtp server I control]

Check this out - sounds quite promising.  It's just proposed - and 
Ron is a sendmail wizard, btw.  Worth trying out at any rate.  Stops 
a lot of spam - plus solves the hassle various people were posting 
about, re using multiple mail identities in Pine / Mutt etc.  

Try first - and mail all comments to Ron at rfg@xxxxxxxxxxx

- - --s

- -- fw --

Date:         Sat, 11 Dec 1999 14:38:27 -0800
Sender:       Spam Prevention Discussion List 
From:         "Ronald F. Guilmette" 
Subject:      MISC: Sendmail patches to implement 

Because I mentioned this work here the other day, I felt that I 
should follow up, finish the patchkit, and put it somewhere for FTP.  
I've now done that, and I've written a README file for the patches 
which I am including below.  (See the README file below for the 
patchkit ftp URL.)  

These patches may perhaps have applicability to spam filtering. 
Certainly, if you filter out all incoming mail for which you cannot find 
a match for the address given in the X-Original-Recipient: header 
when you look for that address in the To: and Cc: headers, then 
you will get rid of about 70% of your incoming spam.  The bad news 
is that you will also then be filtering out approximately 100% of your 
incoming mailing list traffic. :-(  

A more obviously useful application for these patches is the 
maintenance of multiple E-mail identities.  

If you have .forward files setup on various systems and/or if you 
have personal e-mail aliases of any kind, then when/if you receive a 
message addressed to one of your aliases, say <alter-
ego@xxxxxxxxxxx>, then ideally, if/when you respond to that 
message, your MUA (mail user agent / mail client) *should* arrange 
things so that the From: line of that outgoing response says:  

        From: <alter-ego@xxxxxxxxxxx>

The bad news here is that few if any mail clients currently 
implement this functionality, thus rendering it difficult to properly 
maintain multiple e-mail identities without a lot of manual editing or 
From: lines on outgoing e-mail replies.  

I hold out hope that someday in the not-to-distant future, there will 
be an RFC that describes something like an X-Original-Recipient: 
header, so that both local delivery agents and end-user mail clients 
can have an agreed-upon standardized way of implementing proper 
maintenance of multiple e-mail identities.  


cut here for README file:

sendmail-8.9.3-orcpt-patches.README
===================================

Patchkit URL: ftp://ftp.e-scrub.com/pub/sendmail-8.9.3-orcpt-
patches

README Created: Sat Dec 11 13:39:07 PST 1999
README Author: Ron Guilmette <rfg@xxxxxxxxxxx>


PATCHKIT NOTES
==============

The file sendmail-8.9.3-orcpt-patches contains a set of patches 
which, when applied to a virgin set of Sendmail 8.9.3 sources, has 
the following effects:  

1)  Modifies Sendmail itself so as to cause Sendmail to pass an 
additional ESMTP/DSN style `ORCPT=' parameter (on each `RCPT 
TO' LMTP command) to any local delivery agent that Sendmail is 
speaking the LMTP protocol (see RFC 2033) to/with.  

(Note that the value given in the `ORCPT=' parameter will be the 
``original recipient address'' as communicated to Sendmail, either 
via an `ORCPT=' parameter attached to the relevant ESMTP `RCPT 
TO' command or else as the address value given in the `RCPT TO' 
command itself, in the absence of an explicit `ORCPT=' parameter.) 
 

2)  Modifies the local delivery agent `mail.local' so that when it is 
invoked in LMTP mode (-l option) it will accept (as syntactically 
valid) an ESMTP/DSN style `ORCPT=' parameter attached to any 
LMTP `RCPT TO' command that gets send from the MTA (e.g. 
Sendmail) to the `mail.local' local delivery agent.  

3)  Modifies the local delivery agent `mail.local' so that when it is 
invoked in LMTP mode (-l option) and when it is given an `ORCPT=' 
parameter for any given `RCPT TO' ESMTP command, it will, upon 
delivering the relevant messages to the relevant local user's 
maildrop file, attach as a new last header line, a line of the form:  

X-Original-Recipient: addr-type;xtext  

where the `xtext' part is the ``original recipient address'' as de- 
scribed in (1) above.  

The `addr-type' part of the X-Original-Recipient: header will be an 
IANA-registered electronic mail address-type as defined in RFC 
1894. (In most cases, this will just be "RFC822", without the 
quotes.)  

Note that the `xtext' value in the X-Original-Recipient: header is 
encoded as an `xtext' string according to the encoding rules given 
in section 5. of RFC 1819.  Unless the original recipient address 
contained characters that are disallowed or reserved within RFC 822 
mail headers, this `xtext' string will appear as just plain text.  

        Here is an example of an actual X-Original-Recipient: header:

                X-Original-Recipient: RFC822;rfg@xxxxxxxxxxx

To use this patchkit, apply it to a virgin set of Sendmail 8.9.3 
sources and then rebuild and re-install both sendmail and also 
mail.local.  

In order to make actual use of the changes described above, you 
must tell Sendmail (a) to invoke mail.local as the local delivery 
agent, and (b) to speak LMTP to/with the local delivery agent, and 
(c) to invoke the local delivery agent in a way that forces it to speak 
LMTP to/with Sendmail.  

Sendmail defaults to using `mail.local' as the local delivery agent, 
so unless you have diddled your sendmail.cf and/or sendmail.mc file 
to invoke some other local delivery agent (e.g. procmail, deliver, 
etc.) this part is already done for you.  

In order to get sendmail to speak LMTP to the local delivery agent, 
you will need to put the following definition into your sendmail.mc 
file:  

        define(`LOCAL_MAILER_FLAGS',`rmn9z')dnl

(The extra non-default `z' mailer flag forces Sendmail to try to 
speak LMTP to the local delivery agent.)  

In order to insure that `mail.local' is invoked in a way that forces it 
to speak LMTP with Sendmail, you need to put the following define 
into your local sendmail.mc file:  

        define(`LOCAL_MAILER_ARGS',`mail -l')dnl

(The `-l' option forced mail.local into LMTP mode.)

Once you have made the changes to your sendmail.mc file noted 
above, you will have to run m4 on that file (see the sendmail 
cf/README file) in order to generate a fresh sendmail.cf file from 
the sendmail.mc file. Once you have done that, you need to install 
the fresh sendmail.cf file in the proper (system dependent) directory 
and then restart sendmail by sendding it a SIGHUP (i.e. `kill -1).  
This will force it to reinvoke itself, and then new sendmail process 
will read the new sendmail.cf file. After that, all mail delivered to 
local maildrop files should contain the new X-Original-Recipient: 
header.  

Please send questions on comments on this patchkit to
<rfg@xxxxxxxxxxx>.

- -- end fw --



-----BEGIN PGP SIGNATURE-----
Version: PGP 6.0.2 -- QDPGP 2.60 

iQA/AwUBOFLZ9JqQidQMDLaoEQIpawCdGDKBlXfhatcdWk/DNpv1t/h/MaoAoPv+
eTU3SmXou9VOwCfWke5jJlEp
=CJnl
-----END PGP SIGNATURE-----

Suresh Ramasubramanian
106D, Aditya Enclave, Ameerpet, Hyderabad 500038, India.
Phone: +(91-40)3736553/3745398 | eFax: +(1-603)590-5437
Suresh@xxxxxxxxxxx | Suresh@xxxxxxxx
http://www.kcircle.com | http://www.angen.net/~pegasus/
    You're not drunk if you can lie on the floor without holding on.
             -- Dean Martin 

--------------------------------------------------------------------
The Linux India Mailing List Archives are now available.  Please search
the archive at http://lists.linux-india.org/ before posting your question
to avoid repetition and save bandwidth.