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 bt...@apache.org on 2018/01/03 03:20:38 UTC
[4/9] james-project git commit: JAMES-2263 Rely more on
onMailetException for mailet error handling
JAMES-2263 Rely more on onMailetException for mailet error handling
This allows a way higher composability, thus we should avoid catching the exception. This enables the user to write/use his/her own code and specify specific behaviour.
Reminder: By default, failed mail are processed by the error processor and stored for later processing (that could rescheduled once the configuration is updated for instance).
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d7134dda
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d7134dda
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d7134dda
Branch: refs/heads/master
Commit: d7134ddaf24124c34ab782403966a5fc3922f257
Parents: 410d92e
Author: benwa <bt...@linagora.com>
Authored: Fri Dec 29 10:11:29 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Jan 3 10:18:10 2018 +0700
----------------------------------------------------------------------
.../destination/conf/mailetcontainer.xml | 3 +++
.../destination/conf/mailetcontainer.xml | 3 +++
.../jpa/destination/conf/mailetcontainer.xml | 3 +++
.../spring/destination/conf/mailetcontainer.xml | 3 +++
.../transport/mailets/AddHabeasWarrantMark.java | 21 +++++----------
.../james/transport/mailets/ClassifyBounce.java | 20 ++++++---------
.../MailAttributesListToMimeHeaders.java | 14 ++++------
.../mailets/MailAttributesToMimeHeaders.java | 23 ++++++-----------
.../transport/mailets/RemoveMimeHeader.java | 20 ++++-----------
.../james/transport/mailets/SetMimeHeader.java | 16 +++---------
.../james/transport/matchers/FetchedFrom.java | 12 +++++----
.../transport/mailets/RemoveMimeHeaderTest.java | 6 +++--
.../transport/mailets/SetMimeHeaderTest.java | 7 +++--
.../app/src/main/resources/mailetcontainer.xml | 2 ++
.../james/transport/mailets/SpamAssassin.java | 27 ++++++++------------
15 files changed, 77 insertions(+), 103 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/dockerfiles/run/guice/cassandra-ldap/destination/conf/mailetcontainer.xml
----------------------------------------------------------------------
diff --git a/dockerfiles/run/guice/cassandra-ldap/destination/conf/mailetcontainer.xml b/dockerfiles/run/guice/cassandra-ldap/destination/conf/mailetcontainer.xml
index f1f7de4..9d56af4 100644
--- a/dockerfiles/run/guice/cassandra-ldap/destination/conf/mailetcontainer.xml
+++ b/dockerfiles/run/guice/cassandra-ldap/destination/conf/mailetcontainer.xml
@@ -52,13 +52,16 @@
<mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
<name>X-UserIsAuth</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
<name>X-WasSigned</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RemoveMimeHeader">
<name>bcc</name>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RecipientRewriteTable" />
<mailet match="RecipientIsLocal" class="org.apache.james.jmap.mailet.VacationMailet"/>
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/dockerfiles/run/guice/cassandra/destination/conf/mailetcontainer.xml
----------------------------------------------------------------------
diff --git a/dockerfiles/run/guice/cassandra/destination/conf/mailetcontainer.xml b/dockerfiles/run/guice/cassandra/destination/conf/mailetcontainer.xml
index f453b77..2a3d9b0 100644
--- a/dockerfiles/run/guice/cassandra/destination/conf/mailetcontainer.xml
+++ b/dockerfiles/run/guice/cassandra/destination/conf/mailetcontainer.xml
@@ -52,13 +52,16 @@
<mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
<name>X-UserIsAuth</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
<name>X-WasSigned</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RemoveMimeHeader">
<name>bcc</name>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RecipientRewriteTable" />
<mailet match="RecipientIsLocal" class="org.apache.james.jmap.mailet.VacationMailet"/>
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/dockerfiles/run/guice/jpa/destination/conf/mailetcontainer.xml
----------------------------------------------------------------------
diff --git a/dockerfiles/run/guice/jpa/destination/conf/mailetcontainer.xml b/dockerfiles/run/guice/jpa/destination/conf/mailetcontainer.xml
index 3872dd8..ef25e4e 100644
--- a/dockerfiles/run/guice/jpa/destination/conf/mailetcontainer.xml
+++ b/dockerfiles/run/guice/jpa/destination/conf/mailetcontainer.xml
@@ -52,13 +52,16 @@
<mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
<name>X-UserIsAuth</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
<name>X-WasSigned</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RemoveMimeHeader">
<name>bcc</name>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RecipientRewriteTable" />
<mailet match="RecipientIsLocal" class="Sieve"/>
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/dockerfiles/run/spring/destination/conf/mailetcontainer.xml
----------------------------------------------------------------------
diff --git a/dockerfiles/run/spring/destination/conf/mailetcontainer.xml b/dockerfiles/run/spring/destination/conf/mailetcontainer.xml
index 4793203..063f559 100644
--- a/dockerfiles/run/spring/destination/conf/mailetcontainer.xml
+++ b/dockerfiles/run/spring/destination/conf/mailetcontainer.xml
@@ -52,13 +52,16 @@
<mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
<name>X-UserIsAuth</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
<name>X-WasSigned</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RemoveMimeHeader">
<name>bcc</name>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="All" class="RecipientRewriteTable" />
<mailet match="RecipientIsLocal" class="Sieve"/>
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java
index a51a6c6..a71fa8f 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java
@@ -17,18 +17,15 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.transport.mailets;
import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
import org.apache.james.transport.matchers.HasHabeasWarrantMark;
import org.apache.mailet.Experimental;
import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMailet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* <p>This matcher adds the Hebeas Warrant Mark to a message.
@@ -88,7 +85,6 @@ import org.slf4j.LoggerFactory;
*/
@Experimental
public class AddHabeasWarrantMark extends GenericMailet {
- private static final Logger LOGGER = LoggerFactory.getLogger(AddHabeasWarrantMark.class);
/**
* Called by the mailet container to allow the mailet to process to
@@ -103,18 +99,13 @@ public class AddHabeasWarrantMark extends GenericMailet {
* an exception that interferes with the mailet's normal operation
*/
public void service(Mail mail) throws MessagingException {
- try {
- javax.mail.internet.MimeMessage message = mail.getMessage();
-
- for(int i = 0 ; i < HasHabeasWarrantMark.warrantMark.length ; i++) {
- message.setHeader(HasHabeasWarrantMark.warrantMark[i][0], HasHabeasWarrantMark.warrantMark[i][1]);
- }
+ MimeMessage message = mail.getMessage();
- message.saveChanges();
- }
- catch (MessagingException me) {
- LOGGER.error("Error while adding habeas", me);
+ for(int i = 0 ; i < HasHabeasWarrantMark.warrantMark.length ; i++) {
+ message.setHeader(HasHabeasWarrantMark.warrantMark[i][0], HasHabeasWarrantMark.warrantMark[i][1]);
}
+
+ message.saveChanges();
}
/*
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java
index e33af5a..e8a8c6c 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClassifyBounce.java
@@ -73,18 +73,14 @@ public class ClassifyBounce extends GenericMailet {
* @param mail the mail being processed
* @throws MessagingException if an error arises during message processing
*/
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage();
- Classifier classifier = new Classifier(message);
- String classification = classifier.getClassification();
- //if ( !classification.equals("Normal") ) {
- message.setHeader(headerName, classification);
- message.saveChanges();
- //}
- } catch (MessagingException me) {
- LOGGER.error("Error classifying message: ", me);
- }
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage();
+ Classifier classifier = new Classifier(message);
+ String classification = classifier.getClassification();
+ //if ( !classification.equals("Normal") ) {
+ message.setHeader(headerName, classification);
+ message.saveChanges();
+ //}
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java
index 60d2208..2b26a71 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java
@@ -64,15 +64,11 @@ public class MailAttributesListToMimeHeaders extends GenericMailet {
}
@Override
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage();
- attributeNameToHeader.entrySet()
- .forEach(entry -> addAttributeToHeader(mail, message, entry));
- message.saveChanges();
- } catch (MessagingException e) {
- LOGGER.warn("Exception while adding headers", e);
- }
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage();
+ attributeNameToHeader.entrySet()
+ .forEach(entry -> addAttributeToHeader(mail, message, entry));
+ message.saveChanges();
}
private void addAttributeToHeader(Mail mail, MimeMessage message, Entry<String, String> entry) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesToMimeHeaders.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesToMimeHeaders.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesToMimeHeaders.java
index 03c882d..c1b37ee 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesToMimeHeaders.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesToMimeHeaders.java
@@ -27,8 +27,6 @@ import javax.mail.internet.MimeMessage;
import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMailet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
@@ -45,7 +43,6 @@ import com.google.common.base.Strings;
* </code></pre>
*/
public class MailAttributesToMimeHeaders extends GenericMailet {
- private static final Logger LOGGER = LoggerFactory.getLogger(MailAttributesToMimeHeaders.class);
private Map<String, String> mappings;
@@ -61,20 +58,16 @@ public class MailAttributesToMimeHeaders extends GenericMailet {
}
@Override
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage();
- for (Entry<String, String> entry : mappings.entrySet()) {
- String value = (String) mail.getAttribute(entry.getKey());
- if (value != null) {
- String headerName = entry.getValue();
- message.addHeader(headerName, value);
- }
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage();
+ for (Entry<String, String> entry : mappings.entrySet()) {
+ String value = (String) mail.getAttribute(entry.getKey());
+ if (value != null) {
+ String headerName = entry.getValue();
+ message.addHeader(headerName, value);
}
- message.saveChanges();
- } catch (MessagingException e) {
- LOGGER.error("Encountered exception", e);
}
+ message.saveChanges();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
index 43edd76..5f19e80 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java
@@ -17,8 +17,6 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.transport.mailets;
import java.util.List;
@@ -29,8 +27,6 @@ import javax.mail.internet.MimeMessage;
import org.apache.mailet.Mail;
import org.apache.mailet.MailetException;
import org.apache.mailet.base.GenericMailet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
@@ -48,8 +44,6 @@ import com.google.common.collect.ImmutableList;
*
*/
public class RemoveMimeHeader extends GenericMailet {
- private static final Logger LOGGER = LoggerFactory.getLogger(RemoveMimeHeader.class);
-
private List<String> headers;
@Override
@@ -67,15 +61,11 @@ public class RemoveMimeHeader extends GenericMailet {
}
@Override
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage();
- for (String header : headers) {
- message.removeHeader(header);
- }
- message.saveChanges();
- } catch (MessagingException e) {
- LOGGER.error("Unable to remove headers: ", e);
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage();
+ for (String header : headers) {
+ message.removeHeader(header);
}
+ message.saveChanges();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMimeHeader.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMimeHeader.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMimeHeader.java
index 70c7c19..9ba695e 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMimeHeader.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetMimeHeader.java
@@ -26,8 +26,6 @@ import javax.mail.internet.MimeMessage;
import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMailet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
@@ -46,8 +44,6 @@ import com.google.common.base.Strings;
* @version 1.0.0, 2002-09-11
*/
public class SetMimeHeader extends GenericMailet {
- private static final Logger LOGGER = LoggerFactory.getLogger(SetMimeHeader.class);
-
private String headerName;
private String headerValue;
@@ -62,15 +58,11 @@ public class SetMimeHeader extends GenericMailet {
}
@Override
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage () ;
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage () ;
- message.addHeader(headerName, headerValue);
- message.saveChanges();
- } catch (javax.mail.MessagingException me) {
- LOGGER.error("Encountered exception", me);
- }
+ message.addHeader(headerName, headerValue);
+ message.saveChanges();
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
index a16baff..db28d4c 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FetchedFrom.java
@@ -19,12 +19,14 @@
package org.apache.james.transport.matchers;
-import org.apache.mailet.base.GenericMatcher;
-import org.apache.mailet.Mail;
-import org.apache.james.core.MailAddress;
+import java.util.Collection;
+import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import java.util.Collection;
+
+import org.apache.james.core.MailAddress;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.GenericMatcher;
import com.google.common.base.Objects;
@@ -41,7 +43,7 @@ public class FetchedFrom extends GenericMatcher {
public static final String X_FETCHED_FROM = "X-fetched-from";
- public Collection<MailAddress> match(Mail mail) throws javax.mail.MessagingException {
+ public Collection<MailAddress> match(Mail mail) throws MessagingException {
MimeMessage message = mail.getMessage();
String fetchHeaderValue = message.getHeader(X_FETCHED_FROM, null);
if (Objects.equal(fetchHeaderValue, getCondition())) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
index 3a04511..5482b52 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
@@ -21,6 +21,7 @@
package org.apache.james.transport.mailets;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -145,7 +146,7 @@ public class RemoveMimeHeaderTest {
@SuppressWarnings("unchecked")
@Test
- public void serviceShouldNotThrowWhenExceptionOccured() throws MessagingException {
+ public void serviceShouldThrowWhenExceptionOccured() throws MessagingException {
FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
.mailetName("Test")
.setProperty("name", "")
@@ -156,7 +157,8 @@ public class RemoveMimeHeaderTest {
when(mail.getMessage())
.thenThrow(MessagingException.class);
- mailet.service(mail);
+ assertThatThrownBy(() -> mailet.service(mail))
+ .isInstanceOf(MessagingException.class);
}
private Mail createMail(MimeMessage message) throws MessagingException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
index a08ee21..8d122e4 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
@@ -21,6 +21,7 @@
package org.apache.james.transport.mailets;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -83,7 +84,7 @@ public class SetMimeHeaderTest {
}
@Test
- public void shouldNotThrowOnMessagingException() throws MessagingException {
+ public void shouldThrowOnMessagingException() throws MessagingException {
FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
.mailetName("Test")
.setProperty("name", "header-name")
@@ -93,7 +94,9 @@ public class SetMimeHeaderTest {
Mail mail = mock(Mail.class);
when(mail.getMessage()).thenThrow(new MessagingException());
- mailet.service(mail);
+
+ assertThatThrownBy(() -> mailet.service(mail))
+ .isInstanceOf(MessagingException.class);
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/server/app/src/main/resources/mailetcontainer.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/mailetcontainer.xml b/server/app/src/main/resources/mailetcontainer.xml
index bce475e..ce0f2c2 100644
--- a/server/app/src/main/resources/mailetcontainer.xml
+++ b/server/app/src/main/resources/mailetcontainer.xml
@@ -207,11 +207,13 @@ Regards, Postmaster XXX.YYY
<mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
<name>X-UserIsAuth</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
<name>X-WasSigned</name>
<value>true</value>
+ <onMailetException>ignore</onMailetException>
</mailet>
<!-- Add a server-side signature -->
http://git-wip-us.apache.org/repos/asf/james-project/blob/d7134dda/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
index c0221fa..fbcb3f6 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
@@ -84,24 +84,19 @@ public class SpamAssassin extends GenericMailet {
/**
* @see org.apache.mailet.base.GenericMailet#service(Mail)
*/
- public void service(Mail mail) {
- try {
- MimeMessage message = mail.getMessage();
-
- // Invoke SpamAssassin connection and scan the message
- SpamAssassinInvoker sa = new SpamAssassinInvoker(spamdHost, spamdPort);
- sa.scanMail(message);
-
- // Add headers as attribute to mail object
- for (String key : sa.getHeadersAsAttribute().keySet()) {
- mail.setAttribute(key, sa.getHeadersAsAttribute().get(key));
- }
-
- message.saveChanges();
- } catch (MessagingException e) {
- LOGGER.error("Encountered exception", e);
+ public void service(Mail mail) throws MessagingException {
+ MimeMessage message = mail.getMessage();
+
+ // Invoke SpamAssassin connection and scan the message
+ SpamAssassinInvoker sa = new SpamAssassinInvoker(spamdHost, spamdPort);
+ sa.scanMail(message);
+
+ // Add headers as attribute to mail object
+ for (String key : sa.getHeadersAsAttribute().keySet()) {
+ mail.setAttribute(key, sa.getHeadersAsAttribute().get(key));
}
+ message.saveChanges();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org