procmail
[Top] [All Lists]

RFC plus addressing trick

1998-04-29 02:44:13

    [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

<Prev in Thread] Current Thread [Next in Thread>
  • RFC plus addressing trick, jari.aalto <=