[This interests users that use pm-code.shar, please get new update]
[See X-info header]
What is RFC plus addressing?
As some of you may remember, I posted a while ago an section from
the pm-tips.txt page where the "poor man's plus addressing" could
be achieved by regular RFC compliant address means. Eg. I have
account that does not support sendmail plus:
<foo+mail(_dot_)default(_at_)site(_dot_)com>
Where the mail.default is the extra plus information. Personally
I use the plus information to indicate the mailbox name where
the mail lands.
The RFC plus addressing works the same, but the extra information
is stored inside parenthesist (that RFC comments) or inside quotes.
<foo(_at_)site(_dot_)com> (John Doe+mail.default)
<foo(_at_)site(_dot_)com> "John Doe+mail.default"
I have been using this ability every since I figured it out and
it's working great for private mail. The reason why this is
called "poor man's plus" is that it doesn't work for mailing lists.
Mailing lists typically don't take into account anything else but
the address:
<foo(_at_)site(_dot_)com>
And they discard the () and "" fields. Besides, the messages are
send as Bcc. That too bad, I would have liked that the mailing lists
would preserve all the information that I used while I subscribed
to the list
From: <foo(_at_)site(_dot_)com> (John Doe+mail.default)
to: some-list-reques(_at_)somewhere(_dot_)com
Subject: subscribe <foo(_at_)site(_dot_)com> (John Doe+mail.default)
Needed code
Anyway, for folks that want to try using the RFC plus addressing
method, I have updated my procmail modules to support it. In you
procmail you need this statements. The nerw variable $COMMENT_PLUS
is now defined in the subroutine RC_ADDR.
RC_ADDR = $PMSRC/pm-jaaddr.rc
TOME = "(login1|login2)" # your accounts
ARG = $1
:0
* ARG ?? ^^^^
*$ ^TO()\/.*$TOME.*
{
INPUT = $MATCH
INCLUDERC = $RC_ADDR # explode address
PLUS = $COMMENT_PLUS # grab the PLUS
}
Which:
*) If ARG is set, then procmail already passed the sendmail's
plus tag. You already have account that supports plus addressing.
*) If not, try to find the tag from the line: inside () or "" if
the mail was addressed to you. If you get mail from forward
services, the RFC comment still works.
In either case the PLUS will be defined if you got mail to your
plus address. You can continue with this code, that checks if the
plus is available, and if there is mailbox with that name; it
saves the mail to that mailbox.
:0 :
* PLUS ?? [a-z]
*$ test -e $PLUS
$PLUS
If you want to create mailboxes on the fly or trust the plus content,
you could leave out the "test -e".
Hope someone else finds the RFC plus address as usefull as I have.
I only wish I could do somthing to the mailing lists too.
Smartlist
I'll look if I can make Smartlist to accepts the full address
infomation, including the comment fields. Does anybody know
beforehand if this is feasible? Are any smartlist sysadm in this groups
that could help me with smartlist coding?
Ezlm
I'll try to see if I can make the ezlm maintainer change his program to
cope with this RFC plus.
Majordomo
Does anybody know a maintainer for this list software or pointer
to majordomo software site? I'll try to contact authors there too.
Cheers!
jari