Hi guys,

Took me a while... ;-)

In /apps/james/conf/james-smtphandlerchain.xml
http://fisheye.primekey.se/browse/SignServer/trunk/signserver/extapps/james/apps/james/conf/james-smtphandlerchain.xml?r=93

just before SendMailHandler we added our own handlers, for example:

   <handler class="x.y.z.AbortProcessingMessageHandler"></handler>

In config.xml make sure that &smtphandlerchainConfig is NOT commented out.


Out very simple implementation:

public class AbortProcessingMessageHandler implements MessageHandler {
  ....
  @Override
  public void onMessage(SMTPSession session) {
    if (blacklistService.isBlacklisted(session)) {
      String responseString = "250 " +
DSNStatus.getStatus(DSNStatus.SUCCESS, DSNStatus.CONTENT_OTHER) + "
Message received";
      session.writeResponse(responseString);

      session.abortMessage();
    }
  }
.....
}


Hope it is enough to let you move on.


One more example:

  @Override
  public void onMessage(SMTPSession session) {
    if (session == null || session.getMail() == null ||
session.getMail().getSender() == null ||
session.getMail().getRecipients() == null
        || session.getMail().getRecipients().isEmpty()) {
      return;
    }

    if (config.getEmailHost().equals(session.getMail().getSender().getHost())) {
      return;
    }

    final Collection<MailAddress> recipients =
session.getMail().getRecipients();
    for (MailAddress mailAddress : recipients) {
      if (!config.getEmailHost().equals(mailAddress.getHost())) {
        statisticsService.incrementEmailsAcceptedForRemoteDelivery();
      }
    }
  }


Cheers,


-- 
http://music-codex.com/
http://hamsterready.blogspot.com/
http://full-plate.blogspot.com/

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

Reply via email to