You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "David Leangen (Jira)" <se...@james.apache.org> on 2020/07/06 07:20:00 UTC
[jira] [Commented] (JAMES-3293) [Experiment] Re-write the SMTP API
[ 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/server-dev@james.apache.org/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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org