[
https://issues.apache.org/jira/browse/JAMES-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504345#comment-16504345
]
Edgar Asatryan commented on JAMES-2321:
---------------------------------------
[~BTellier], please don't worry about disagreement.
I'm planned to work on weekend so I think both tasks will be implemented and
will open the PR as soon as then finished. By the way, how the community denote
the ongoing PR's? The common practices tells me that I should open PR with
following naming convention:
```
[WIP] JAMES-N \{TASK}.
```
Is that correct ?
> WebAdmin should allow to see more details about Mails
> ------------------------------------------------------
>
> Key: JAMES-2321
> URL: https://issues.apache.org/jira/browse/JAMES-2321
> Project: James Server
> Issue Type: Improvement
> Components: MailStore & MailRepository, webadmin
> Affects Versions: master
> Reporter: Tellier Benoit
> Priority: Major
> Labels: feature, newbie
>
> The WebAdmin REST API allows to see mails in a mailQueue and in a mail
> repository. However, as of today, the amount of information that can be seen
> is limited, and has the following properties:
> - The `name` that identifies the mail
> - The envelope information (sender + recipients)
> - And basic processing information (state and possible error).
> Today:
> {code:java}
> curl -XGET
> http://ip:port/mailRepositories/file%3A%2F%2Fvar%2Fmail%2Ferror%2F/mails/mail-key-1
> {code}
> Will return:
> {code:java}
> {
> "name": "mail-key-1",
> "sender": "[email protected]",
> "recipients": ["[email protected]", "[email protected]"],
> "state": "address-error",
> "error": "A small message explaining what happened to that mail..."
> }
> {code}
> We also should add the following properties in the view by default:
> `lastUpdated`, `remoteHost`, `remoteAddr`.
> The basic answers becomes then:
> {code:java}
> {
> "name": "mail-key-1",
> "sender": "[email protected]",
> "recipients": ["[email protected]", "[email protected]"],
> "state": "address-error",
> "error": "A small message explaining what happened to that mail...",
> "remoteHost": "smtp.apache.org",
> "remoteAddr":"175.26.53.48",
> "lastUpdated": "2018-01-28T14:31:00.000+0000"
> }
> {code}
> We need to be able to get more details about the mail object.
> We should be able to pass an `additionalFields`.
> Supported additional fields would be:
> - `attributes`
> - `perRecipientsHeaders`
> - `headers`
> - `body`
> - `messageSize`
> An example:
> {code:java}
> curl -XGET
> http://ip:port/mailRepositories/file%3A%2F%2Fvar%2Fmail%2Ferror%2F/mails/mail-key-1?additionalFields=attributes,headers,body,messageSize,perRecipientsHeaders
> {code}
> Will return:
> {code:java}
> {
> "name": "mail-key-1",
> "sender": "[email protected]",
> "recipients": ["[email protected]", "[email protected]"],
> "state": "address-error",
> "error": "A small message explaining what happened to that mail...",
> "remoteHost": "smtp.apache.org",
> "remoteAddr":"175.26.53.48",
> "lastUpdated": "2018-01-28T14:31:00.000+0000",
> "messageSize": 452369,
> "attributes" : {"name1":"value1", "name2":"value2"},
> "body": "My awesome body!!!",
> "perRecipientsHeaders": {
> "[email protected]": {
> "headerName1":["value1", "value2"],
> "headerName2":["value3","value4"]
> }
> },
> "headers" : {
> "headerName3":["value5", "value8"],
> "headerName4":["value6","value7"]
> }
> }
> {code}
> You will need to:
> - in */server/protocols/webadmin/webadmin-mailrepository* project:
> - Modify MailDTO to add new mandatory fields.
> - *MailRepositoriesRoutesTest* ::
> *retrievingAMailShouldDisplayItsInformation* to take into account these new
> mandatory fields.
> Then:
> - *MailDTO* Should contain an enum called *AdditionalFields*
> - *MailDTO::fromMail* should take a List<AdditionalFields> as argument
> - Modify *MailRepositoriesRoutes* in order to take into account this URL
> parameter.
> Please note that:
> - Unknown *additionalParameter* values should be rejected
> - empty additionalParameters should be filtered out and ignored
> - This parameter can be ommited.
> - Please add tests demonstrating the following behaviours in
> *MailRepositoriesRoutesTest*
> Of course, as always, we are willing to provide help for these issues. Please
> don't hesitate to reach us on https://gitter.im/apache/james-project .
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]