[ 
https://issues.apache.org/jira/browse/JAMES-3293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151825#comment-17151825
 ] 

David Leangen commented on JAMES-3293:
--------------------------------------

I took a stab at this, just for fun, to try to get an appreciation of how much 
effort it would take to have a clean API that expresses 
[RFC5321|https://tools.ietf.org/html/rfc5321].

During my initial pass of the documents, I extracted nous like: "Session", 
"Client", "Command", "Response" and so on. However, I noticed that they use 
various terms in a sloppy way, probably interchangeably, like "reply" and 
"response", and neither seems to have any clear definition.

I noticed that many of the terms they use don't appear to be very well defined 
or explained in any precise terms.

So not only would it be a large effort to make sense out of the spec in order 
to create a Java API, I now question the entire effort itself. Perhaps the 
James approach of having simply an "implementation" (without a clear API) is 
actually the best we could reasonable hope for. Perhaps having a clean REST API 
is enough. The SMTP session *is* the API, and the other elements (like user 
management etc.) can be done via REST, so maybe we can just skip the whole idea 
of having a proper Java API.

In any case, I think I am done with this experiment for now.

Please feel free to continue discussing here if you like, even if I close this 
issue. :)

> [Experiment] Re-write the SMTP API
> ----------------------------------
>
>                 Key: JAMES-3293
>                 URL: https://issues.apache.org/jira/browse/JAMES-3293
>             Project: James Server
>          Issue Type: Sub-task
>          Components: SMTPServer
>            Reporter: David Leangen
>            Priority: Major
>
> Based on [an email 
> thread|https://www.mail-archive.com/[email protected]/msg67373.html].
> To achieve better componentization, the APIs must be very clean, independent, 
> and decoupled from other components.
> I will experiment with rewriting the SMTP API in order to solicit comments 
> from the James community.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to