Author: norman
Date: Sat Nov 25 14:53:27 2006
New Revision: 479225
URL: http://svn.apache.org/viewvc?view=rev&rev=479225
Log:
RemoteDelivery can now be configured to use a diffrent maxretry count for
domain for which no valid record were found. I hope this makes all happy now
Modified:
james/server/trunk/src/conf/james-config.xml
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Modified: james/server/trunk/src/conf/james-config.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-config.xml?view=diff&rev=479225&r1=479224&r2=479225
==============================================================================
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Sat Nov 25 14:53:27 2006
@@ -590,6 +590,10 @@
<delayTime> 3 hours </delayTime>
<delayTime> 6 hours </delayTime>
<maxRetries> 25 </maxRetries>
+
+ <!-- The max reties which will used if no A or MX record for the
domain was found. -->
+ <!-- If 0 it will fail on first time -->
+ <maxDnsProblemRetries> 0 </maxDnsProblemRetries>
<!-- The number of threads that should be trying to deliver
outgoing messages -->
<deliveryThreads> 1 </deliveryThreads>
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java?view=diff&rev=479225&r1=479224&r2=479225
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Sat Nov 25 14:53:27 2006
@@ -225,6 +225,9 @@
private MultipleDelayFilter delayFilter = new MultipleDelayFilter
();//used by accept to selcet the next mail ready for processing
private Properties defprops = new Properties(); // default properties for
the javamail Session
+ // The retry count dnsProblemErrors
+ private int dnsProblemRetry = 0;
+
/**
* Initialize the mailet
*/
@@ -376,7 +379,12 @@
defprops.put(name,getInitParameter(name));
}
- }
+ }
+
+ String dnsRetry = getInitParameter("maxDnsProblemRetries");
+ if (dnsRetry != null && !dnsRetry.equals("")) {
+ dnsProblemRetry = Integer.parseInt(dnsRetry);
+ }
}
/*
@@ -480,9 +488,18 @@
.append(host)
.append(". I cannot determine where to send this
message.");
- // The domain has no dns entry.. Return a permanent error
- return failMessage(mail, new
MessagingException(exceptionBuffer.toString()), true);
-
+ int retry = 0;
+ try {
+ retry = Integer.parseInt(mail.getErrorMessage());
+ } catch (NumberFormatException e) {
+ // Unable to parse retryCount
+ }
+ if (retry == 0 || retry > dnsProblemRetry) {
+ // The domain has no dns entry.. Return a permanent
error
+ return failMessage(mail, new
MessagingException(exceptionBuffer.toString()), true);
+ } else {
+ return failMessage(mail, new
MessagingException(exceptionBuffer.toString()), false);
+ }
}
} else {
targetServers = getGatewaySMTPHostAddresses(gatewayServer);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]