Kenny Smith wrote:
Hello all,Kenny,
Short Version:
I'm interested in adding some functionality to the pop server, but I'm not exactly sure how to approach it. I understand how to add mailets to process incoming mail, but I can't find any way to plug functionality into the POP server. Is there a way?
Long Version:
My high level goal:
I would like to be able to add a domain to James without having to hard code it in the config.xml and without having to restart.
My users are outside the network on dynamic IPs. Currently, I'm using SMTP-AUTH to allow them to send mail through James, but in order for that to work I have to hard code the domains in the <servernames/> block. That means every time I want to add a domain to James, I have to edit config.xml and restart, which isn't a pleasant situation. I'm using the all the JDBC classes so that my users and email aliases are all dynamic. The only piece missing is the above.
I have 2 ideas:
1) Write code to replace the <servername/> entries in the config.xml with JDBC calls
2) Stop using SMTP-AUTH (the thing requiring the hard coded domains), and write code to dynamically allow and disallow mail relay. This way JDBCVirtualUserTable will resolve the email from [EMAIL PROTECTED] down to kenny@localhost and localhost _will_ be hard coded into the <servernames/> so the email will get delivered properly.
Option 1 involves getting down into the guts of James (at least I think so) so it's intimidating. Option 2 _feels_ like it can be done with mailets, which makes it feel inherently superior.
What I'd like to do:
I'd like to add a mailet to record the IP address and timestamp of a user when they make a successfully authenticated POP connection. Then I'd like to add a mailet to the root processor that checks the sender's IP address against the above record of IP addresses to see if they have been authenticated.
As far as I can tell this will allow me to dynamically add domains to James by just inserting new rows in the email alias table used by JDBCVirtualUserTable.
Any suggestions, comments, criticism are appreciated.
We're in a holding pattern while we make a new stable release based on the existing code base, but then we'll be making more aggressive changes to the mailet API and the guts of James. Supporting virtual hosts and dynamically managing them is going to be a top priority as it's one of the most requested features.
If you can sit tight for a few more weeks, we hope to get this conversation started next month (I'm hoping), and then we'd very much appreciate your involvement.
--
Serge Knystautas
Loki Technologies - Unstoppable Websites
http://www.lokitech.com
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
