Andrei Ivanov wrote:
> Hi,
> I was about to offer this, just wanted so that initiative is not going from
> me :-)
> 
>>We'd be pleased to accept your kind offer to contribute... ;-D
>>
> 
> So I have RemoteDelivery mailet which doesn't use JavaMail for transport,
> which uses excalibur threads and cornerstone socket factory (and of course
> support TLS and so on). It works very well ;-D
> Unfortunately I implemented it before I got a chance to look at JavaMail
> sources which were released recently. Now I see some ways to improve it.
> 
> Anyway before any further contributions from me I would like to hear from
> Serge about my improvements to SMTPServer-Handler submitted recently :-)
> 
> Andrei

Well, I'm not really enamored with refactoring working James code just 
because Avalon provides functionality XYZ.  I can understand the 
consistency argument.  However, I also have found the Avalon thread 
pooler to be less reliable than the quick and dirty approach used by 
RemoteDelivery (periodically I've had to restart James because the spool 
manager threads had all died/hung while I haven't seen this with remote 
delivery).

I would like to remove the JavaMail delivery dependency because JavaMail 
is not really a server-geared API.  That said, SMTP is an incredibly 
challenging API not because of its complexity, but because it's been 
around for so long and there are so many liberties other servers take 
with it.  The settings that RemoteDelivery passes to the Transport are 
from fine tuning from years of experience dealing with what other mail 
servers can stand to hear.  Introducing a whole new codebase can be 
extremely risky, because even if you can't deliver to 5% of the mail 
servers out there, you're going to hear about it (but probably not until 
a couple of weeks of bounces have been going on).

As for SSL transport delivery, I think that's a reason to stick with 
JavaMail actually... it's much more standard and well documented than 
moving to a custom SMTP implementation and Avalon sockets.  Here's a 
good article on the matter 
http://www.javaworld.com/javaworld/javatips/jw-javatip115.html?remote_addr=209.1.23.157&user_agent=Ultraseek/IDG.net
 
(this talks about securing other providers, but the same should work for 
smtp).  You add 2 properties to the javax.mail.Session properties, and 
boom, you've got SMTP w/SSL.  Doesn't seem like we need to refactor there.

But ultimately, it's all about the code.  I'm happy to look over 
whatever you would like to submit, and I'll let you know what I think. 
I just wanted to share some of my reservations going into this.
-- 
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]>

Reply via email to