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

Benoit Tellier commented on JAMES-3431:
---------------------------------------

I enhanced https://github.com/linagora/james-project/pull/4099 to add 
DsnParameters to the Mail object.

To do so I leveraged mail attributes. In order to be as strong typed (and safe) 
as possible I leverage collections AttributeValues.

However some implementations do break, as they (still!) rely on java 
serialization despite recent work on 
https://issues.apache.org/jira/browse/JAMES-2578 . 

The current work is working with RabbitMQ & memory mail queues but is not 
supported by file & jms implementations.

Here are the options we have:
 - Accept DSN feature do not work on tese implementations (not my prefered at 
all!)
 - Re-implement DSNParameters attribute mapping to not use collection 
attributeValues. This work around the main issue for this specific use case of 
attribute values. (I feel okay with that)
 - Try to fix collection attributeValue java serialization is likely hard to 
do, but also keeps java serialization around for longer in the code base. 
Likely a dead-end.
 - No longer rely on Java serialization for "JMS" & "File" mail queues. This 
means either smart fallback code, or at worst an upgrade path with an empty 
mail queue. That is by far my prefered option, and I will start community 
discussions in that direction.

> Relay DSN options on RemoteDelivery
> -----------------------------------
>
>                 Key: JAMES-3431
>                 URL: https://issues.apache.org/jira/browse/JAMES-3431
>             Project: James Server
>          Issue Type: Bug
>          Components: Remote Delivery, SMTPServer
>    Affects Versions: 3.5.0
>            Reporter: Karsten Otto
>            Priority: Major
>
> Since James claims to support the DSN SMTP extension, it may receive a mail 
> submission according to [RFC 3461|https://tools.ietf.org/html/rfc3461]:
> {code:java}
> MAIL FROM:<al...@example.org> RET=HDRS ENVID=QQ314159
> RCPT TO:<d...@ivory.edu> NOTIFY=SUCCESS,FAILURE,DELAY 
> ORCPT=rfc822;d...@ivory.edu
> RCPT TO:<f...@bombs.af.mil> NOTIFY=NEVER{code}
> In this case James should
>  * remember the given DSN options (NOTIFY, ORCPT, RET, ENVID) for each 
> recipient, and
>  * provide the same options when relaying the mail to remote servers via the 
> RemoteDelivery mailet.
> (The DSN options should be accessible to other interested mailets as well, 
> e.g. for bounce processing.)
> Possibly related issues:
>  https://issues.apache.org/jira/browse/JAMES-322
>  https://issues.apache.org/jira/browse/JAMES-362
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to