[
https://issues.apache.org/jira/browse/JAMES-882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658158#action_12658158
]
Robert Burrell Donkin commented on JAMES-882:
---------------------------------------------
I'm a little confused. Can anyone explain how the follow code set new local
recipients?
public abstract class AbstractVirtualUserTableMailet extends GenericMailet {
/*
* (non-Javadoc)
* @see org.apache.mailet.base.GenericMailet#service(org.apache.mailet.Mail)
*/
public void service(Mail mail) throws MessagingException {
Collection recipients = mail.getRecipients();
Collection errors = new Vector();
MimeMessage message = mail.getMessage();
// Set Return-Path and remove all other Return-Path headers from the
// message
// This only works because there is a placeholder inserted by
// MimeMessageWrapper
message
.setHeader(RFC2822Headers.RETURN_PATH,
(mail.getSender() == null ? "<>" : "<"
+ mail.getSender() + ">"));
Collection newRecipients = new LinkedList();
for (Iterator i = recipients.iterator(); i.hasNext();) {
MailAddress recipient = (MailAddress) i.next();
try {
Collection usernames = processMail(mail.getSender(), recipient,
message);
// if the username is null or changed we remove it from the
// remaining recipients
if (usernames == null) {
i.remove();
} else {
i.remove();
// if the username has been changed we add a new recipient
// with the new name.
newRecipients.addAll(usernames);
}
} catch (Exception ex) {
getMailetContext().log("Error while storing mail.", ex);
errors.add(recipient);
}
}
if (newRecipients.size() > 0) {
recipients.addAll(newRecipients);
}
if (!errors.isEmpty()) {
// If there were errors, we redirect the email to the ERROR
// processor.
// In order for this server to meet the requirements of the SMTP
// specification, mails on the ERROR processor must be returned to
// the sender. Note that this email doesn't include any details
// regarding the details of the failure(s).
// In the future we may wish to address this.
getMailetContext().sendMail(mail.getSender(), errors, message,
Mail.ERROR);
}
if (recipients.size() == 0) {
// We always consume this message
mail.setState(Mail.GHOST);
}
> VirtualUserTable-Store is not working anymore
> ---------------------------------------------
>
> Key: JAMES-882
> URL: https://issues.apache.org/jira/browse/JAMES-882
> Project: JAMES Server
> Issue Type: Bug
> Affects Versions: 3.0, Trunk
> Reporter: Norman Maurer
> Assignee: Norman Maurer
> Fix For: 3.0
>
> Attachments: diff.txt, vut-smoke.patch, vut-support.diff
>
>
> In current trunk the VirtualUserTable-Store implementation get never called
> from a mailet to rewrite recipients.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]