We are frequently adding domains to config/James/servernames/ in order to support SMTP for those domains -- authRequired is set to "true" so as not to be an open relay. Each time we add a servername we shutdown and restart James/Phoenix. For each domain we have distinct user accounts and support POP/SMTP for these users. We use MySQL as the repository.
Question:
Is there a better way to acheive our goal of proving SMTP/POP service to specifc domains without being an open relay than described above? Or, more to the point, can we avoid the updating of config.xml and the corresponding shutdown/start of James each time it is updated?
My goal is to allow hot-additions of authorized domains.
Robert,
Was looking through this a bit more. Most of what you would want to change is in James.java, as that's where it handles the servername configuration. You could just have it grab that info from somewhere else, pretty easily enough. The main method you'd want to have do something different is isLocalServer(), which could force a reload each call.
The only issue is that James exposes this set of names (also) as a Collection via the Avalon framework. Fortunately, this isn't really used anywhere (from a quick check). This is probably not a good approach as instead James should expose a method to get that Set.
Then all access to the servernames info (or domains, or whatever we call it per the other thread) is via isLocalServer() and getLocalDomains(). This isn't too tough, and then in your configuration, this could be reloaded periodically (not sure if you want to only reload every 60 seconds or what).
Sidenote: isLocalServer should be changed to whatever domain/server/host we call things.
-- Serge Knystautas President Lokitech >>> software . strategy . design >> http://www.lokitech.com p. 301.656.5501 e. [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
