[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.