Re: [Exim] A bit OT - apologies in advance!

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: konrad
CC: exim-users
Subject: Re: [Exim] A bit OT - apologies in advance!
On Tue, 2003-07-15 at 15:49, Konrad Michels wrote:
> However, my client has a requirement for pop3 access for lusers to get
> their mail, and worse still he wants people to be able to share a
> mailbox, similar to the way BT and Demon do mailbox sharing: ie you
> login with you entire e-mail address as the user name, using a common
> password. The user then sees only the mail addressed to them, despite
> the fact that in reality those mails are mixed in amongst dozens of
> other people's mails. There is one admin user per mailbox who can read
> everyone's mail.


Its interesting to watch people screaming about this one... I have
actually done it myself for a specific type of application.

Freeserve, and other free ISPs in the UK, gave out a domain per customer
- say customername.freeserve.co.uk. They used
customername.freeserve.co.uk as their login name (with a password they
specified at signup time, and all mail to any local part
@customername.freeserve.co.uk went into a single mailbox. For the
clueful there were envelope-to: headers to allow you to split mailboxes
into different local parts.

However we added another wrinkle to it - based on an idea used
previously by Demon, but enhanced somewhat by us.

If you set your pop username to be fred@???
then the pop daemon filtered the view of the mailbox so you only saw
mail delivered to local part "fred".

There were some other wrinkles - you could actually put a form of
expression - including negatives - in the selector, so you could look
separately for messages addressed to fred, jim & bob and then select all
messages for any local parts *other* than red, jim or bob.

The implementation was handled in 3 parts.

First, when exim delivered mail (into a Maildir) it used the maildir tag
functionality to add a lowercased local part to the file name.

Second, the qmail pop user part (which handled authentication only - the
real popper is forked off after authentication) added an environment
variable with anything before an @ or : in the username, and only used
the later part for the authentication.

Third the qmail pop handler had some code in that parsed the selector
string and modified the directory scan to select or ignore stuff
appropriately.

The down side is I did not release that code whilst at Planet/Energis,
and I have no idea if you have any chance of obtaining code from them.
Frankly replicating that work would not take long - the original took me
under a day of hacking. Working out a suitable selector syntax was the
most difficult part. See if Demon still document this stuff.

I can't find my old postings on it - only a posting refering to it:-
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=utf-8&selm=MPG.18646d1dd70b60eb98995f%40news.freeserve.net


    Nigel.
--
[ Nigel Metheringham           Nigel.Metheringham@??? ]
[ - Comments in this message are my own and not ITO opinion/policy - ]