Seeing as nobody has offered to do this free ;)
I'd be interested to hear is anyone out there is interested in developing
this project for me. It doesn't seem like a difficult task - security of the
resultant qmail-pop3d is also important.
I can swing $200-$300 for this.
Please email me if you are interested.
Regards,
Paul.
In article 7jhl3c$lvp$[EMAIL PROTECTED] you wrote:
In article [EMAIL PROTECTED] you wrote:
Paul Gregg writes:
Assume this setup is running perfectly (ok, I have 4,000 users using it).
Essentially I'm thinking of enabling the user to login via POP3 as
'[EMAIL PROTECTED]' with their normal password. (I've written the
checkpasswd so it's easy to authenticate ok).
What methodology could be used so that if they login with a specific
email address as a POP3 user then they only "see" email which is destined
for that user. but if they logged in without a user@ part then they would get
everything.
You'll need a custom POP3 server for that. When the POP3 server
initializes and scans the Maildir for messages, it should ignore messages
that do not have a Delivered-To: address for the login user.
Maildir-based POP3 servers are childishly simple, and you should be able to
write one up, or modify an existing one, in no time at all.
Ok, I figured out how best to code this up.
Essentially, one needs to patch get_list() in qmail-pop3d.c
get_list calls maildir_scan() (in maildir.c) to return a list of filenames,
which get_list() then parses through to build a list of files/emails
which are in the Maildir.
This routine needs to also add the Delivered-To: checks that are in
serialsmtp.c from the serialmail package.
Simply we could call checkpasswd qmail-pop3d Maildir and checkpasswd could
exec @ARGV, but add user@host to the args (so qmail-pop3d could read it).
The check would need to find the Delivered-To: (first one) line
and do a search in the string for /user@host/ (the login pop3 id).
(checkpasswd could munge it whatever way you wanted to cover for user%host
if you had to).
Anyone feel up to the task? I'm afraid my C coding skills leave much to
be desired - never got time to learn :(