james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Maurer <norman.mau...@googlemail.com>
Subject Re: SMTP Transport?
Date Sat, 30 Jan 2010 15:37:15 GMT
Hi Oleg,

sorry for takin so long but I had many other stuff on my blade. I
would really like to get a LMTP implementation into james (using MINA
for NIO), is there any interest in this for you ?

Bye,
Norman

2009/11/23 Norman Maurer <norman.maurer@googlemail.com>:
> Hi Oleg,
>
> I will have a look soon. Thx for keeping us in the loop :)
>
> Bye,
> Norman
>
> 2009/11/23 Oleg Kalnichevski <olegk@apache.org>:
>> Norman Maurer wrote:
>>>
>>> Hi Oleg,
>>>
>>> I would be very interested in this :-)
>>>
>>> Bye,
>>> Norman
>>>
>>
>> Folks,
>>
>> I finally have the library in a fairly usable (or shall I rather say
>> testable) state. I can now send messages to the postfix daemon using my SMTP
>> client transport and have the messages passed onto the local LMTP agent
>> based on the same transport code for local delivery.
>>
>> In essence I have a reasonably complete SMTP/LMTP transport library that
>> implements RFC 2821 (minimum implementation), RFC 2033, plus a number of
>> extensions required by LMTP: RFC 2034 (ENHANCEDSTATUSCODES), RFC 1854
>> (PIPELINING), RFC 1652 (8BITMIME).
>>
>> The code is still very experimental but good enough for getting the feel of
>> the API.
>>
>> Here's the sample of the LMTP transfer agent
>>
>> http://code.google.com/p/lightmtp/source/browse/trunk/src/examples/java/com/ok2c/lightmtp/examples/LocalMailServerTransportExample.java
>>
>> Envelop validation / message delivery can be fully asynchronous. Long
>> running processes such as DB or LDAP queries can be executed without
>> blocking the I/O transport.
>>
>> The client side transport can either be event (callback) driven
>>
>> http://code.google.com/p/lightmtp/source/browse/trunk/src/examples/java/com/ok2c/lightmtp/examples/LocalMailClientTransportExample.java
>>
>> or future driven
>>
>> http://code.google.com/p/lightmtp/source/browse/trunk/src/examples/java/com/ok2c/lightmtp/examples/MailUserAgentExample.java
>> http://code.google.com/p/lightmtp/source/browse/trunk/src/examples/java/com/ok2c/lightmtp/examples/SendMailExample.java
>>
>> The mail user agent can maintain a pool of persistent connections that can
>> be reused for subsequent delivery requests.
>>
>> The NIO framework is basically a fork of Apache HttpCore with all HTTP
>> dependencies removed.
>>
>> http://code.google.com/p/lightnio/
>>
>> You would have to get the latest snapshots of both libraries in order to run
>> samples.
>>
>> I developed this code for my private use. If you do not think this is
>> something that can be potentially useful for a larger user base, just ignore
>> my message.
>>
>> Cheers
>>
>> Oleg
>>
>>
>>
>>
>>> 2009/6/12 Oleg Kalnichevski <olegk@apache.org>:
>>>>
>>>> On Thu, Jun 11, 2009 at 04:30:58PM +0200, Markus Wiederkehr wrote:
>>>>>
>>>>> I've written a class SmtpTransport that can be used to send a Mime4j
>>>>> message to an SMTP server.
>>>>>
>>>>> Currently it is very simple. Meaning it is not yet capable of
>>>>> authentication or TLS or other extensions.
>>>>>
>>>>> Would it be worth to include this code in Mime4j?
>>>>>
>>>>> Cheers,
>>>>> Markus
>>>>>
>>>>> PS: Testing is a bit of a PITA with sockets and all.. Robert, could
>>>>> MPT help with that? I haven't looked into it yet..
>>>>
>>>> Markus et al
>>>>
>>>> _Coincidentally_, I have been working on a LMTP agent and LMTP client
>>>> with
>>>> support for mandatory extensions required by LMTP [1]: PIPELINING,
>>>> ENHANCEDSTATUSCODES and 8BITMIME. The implementation is based a NIO
>>>> framework
>>>> derived from HttpCore NIO and should be quite scalable. This is my
>>>> private
>>>> project, but if there is interest in such work, I am willing to
>>>> contribute it
>>>> to James. Alternatively you are very welcome to contribute to the effort.
>>>> It is
>>>> ASLv2 licensed.
>>>>
>>>> Cheers
>>>>
>>>> Oleg
>>>>
>>>> [1] http://www.ietf.org/rfc/rfc2033.txt
>>>>
>>>>
>>>>
>>
>>
>

Mime
View raw message