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 pg...@apache.org on 2002/08/08 01:26:39 UTC
cvs commit: jakarta-james/src/java/org/apache/james/transport/mailets Redirect.java RemoteDelivery.java ServerTime.java ToProcessor.java ToRepository.java UseHeaderRecipients.java
pgoldstein 2002/08/07 16:26:39
Modified: src/java/org/apache/james/transport/mailets Redirect.java
RemoteDelivery.java ServerTime.java
ToProcessor.java ToRepository.java
UseHeaderRecipients.java
Log:
Part of the String=>StringBuffer changes. Includes some additional
commenting, formatting fixes, and wrapping of logging calls in log
level checks. Also converted equalsIgnoreCase paradigm as discussed on
mailing list. Locale issue for both toUpperCase() and toLowerCase() was
addressed as well.
Revision Changes Path
1.8 +2 -1 jakarta-james/src/java/org/apache/james/transport/mailets/Redirect.java
Index: Redirect.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/Redirect.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Redirect.java 6 Aug 2002 05:33:52 -0000 1.7
+++ Redirect.java 7 Aug 2002 23:26:38 -0000 1.8
@@ -14,6 +14,7 @@
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
+import java.util.Locale;
import java.util.StringTokenizer;
import javax.mail.Message;
@@ -547,7 +548,7 @@
*/
private int getTypeCode(String param) {
int code;
- param = param.toLowerCase();
+ param = param.toLowerCase(Locale.US);
if(param.compareTo("unaltered") == 0) {
return UNALTERED;
}
1.21 +100 -30 jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Index: RemoteDelivery.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- RemoteDelivery.java 18 Apr 2002 14:45:47 -0000 1.20
+++ RemoteDelivery.java 7 Aug 2002 23:26:38 -0000 1.21
@@ -112,7 +112,12 @@
} catch (Exception e) {
}
for (int i = 0; i < deliveryThreadCount; i++) {
- Thread t = new Thread(this, "Remote delivery thread (" + i + ")");
+ StringBuffer nameBuffer =
+ new StringBuffer(32)
+ .append("Remote delivery thread (")
+ .append(i)
+ .append(")");
+ Thread t = new Thread(this, nameBuffer.toString());
t.start();
deliveryThreads.add(t);
}
@@ -154,7 +159,12 @@
targetServers = getMailetContext().getMailServers(host);
if (targetServers.size() == 0) {
log("No mail server found for: " + host);
- return failMessage(mail, new MessagingException("There are no DNS entries for the hostname " + host + ". I cannot determine where to send this message."), false);
+ StringBuffer exceptionBuffer =
+ new StringBuffer(128)
+ .append("There are no DNS entries for the hostname ")
+ .append(host)
+ .append(". I cannot determine where to send this message.");
+ return failMessage(mail, new MessagingException(exceptionBuffer.toString()), false);
}
} else {
targetServers = new Vector();
@@ -168,7 +178,15 @@
while ( i.hasNext()) {
try {
String outgoingmailserver = i.next().toString ();
- log("attempting delivery of " + mail.getName() + " to host " + outgoingmailserver + " to " + Arrays.asList(addr));
+ StringBuffer logMessageBuffer =
+ new StringBuffer(256)
+ .append("attempting delivery of ")
+ .append(mail.getName())
+ .append(" to host ")
+ .append(outgoingmailserver)
+ .append(" to ")
+ .append(Arrays.asList(addr));
+ log(logMessageBuffer.toString());
URLName urlname = new URLName("smtp://" + outgoingmailserver);
Properties props = session.getProperties();
@@ -177,8 +195,9 @@
props.put("mail.smtp.user", "<>");
props.put("mail.smtp.from", "<>");
} else {
- props.put("mail.smtp.user", mail.getSender().toString());
- props.put("mail.smtp.from", mail.getSender().toString());
+ String sender = mail.getSender().toString();
+ props.put("mail.smtp.user", sender);
+ props.put("mail.smtp.from", sender);
}
//Many of these properties are only in later JavaMail versions
@@ -187,15 +206,33 @@
//"mail.smtp.dsn.ret" //default to nothing... appended as RET= after MAIL FROM line.
//"mail.smtp.dsn.notify" //default to nothing...appended as NOTIFY= after RCPT TO line.
- Transport transport = session.getTransport(urlname);
- transport.connect();
- transport.sendMessage(message, addr);
- transport.close();
- log("mail (" + mail.getName() + ") sent successfully to " + outgoingmailserver);
+ Transport transport = null;
+ try {
+ transport = session.getTransport(urlname);
+ transport.connect();
+ transport.sendMessage(message, addr);
+ } finally {
+ if (transport != null) {
+ transport.close();
+ }
+ }
+ logMessageBuffer =
+ new StringBuffer(256)
+ .append("mail (")
+ .append(mail.getName())
+ .append(") sent successfully to ")
+ .append(outgoingmailserver);
+ log(logMessageBuffer.toString());
return true;
} catch (MessagingException me) {
//MessagingException are horribly difficult to figure out what actually happened.
- log("Exception delivering message (" + mail.getName() + ") - " + me.getMessage());
+ StringBuffer exceptionBuffer =
+ new StringBuffer(256)
+ .append("Exception delivering message (")
+ .append(mail.getName())
+ .append(") - ")
+ .append(me.getMessage());
+ log(exceptionBuffer.toString());
//Assume it is a permanent exception, or prove ourselves otherwise
boolean permanent = true;
if (me.getNextException() != null && me.getNextException() instanceof java.io.IOException) {
@@ -282,7 +319,12 @@
} else {
out.print("Temporary");
}
- out.print(" exception delivering mail (" + mail.getName() + ": ");
+ StringBuffer logBuffer =
+ new StringBuffer(64)
+ .append(" exception delivering mail (")
+ .append(mail.getName())
+ .append(": ");
+ out.print(logBuffer.toString());
ex.printStackTrace(out);
log(sout.toString());
if (!permanent) {
@@ -293,7 +335,14 @@
}
int retries = Integer.parseInt(mail.getErrorMessage());
if (retries < maxRetries) {
- log("Storing message " + mail.getName() + " into outgoing after " + retries + " retries");
+ logBuffer =
+ new StringBuffer(128)
+ .append("Storing message ")
+ .append(mail.getName())
+ .append(" into outgoing after ")
+ .append(retries)
+ .append(" retries");
+ log(logBuffer.toString());
++retries;
mail.setErrorMessage(retries + "");
mail.setLastUpdated(new Date());
@@ -314,7 +363,12 @@
} catch(Exception e){
machine = "[address unknown]";
}
- out.println("Hi. This is the James mail server at " + machine + ".");
+ StringBuffer bounceBuffer =
+ new StringBuffer(128)
+ .append("Hi. This is the James mail server at ")
+ .append(machine)
+ .append(".");
+ out.println(bounceBuffer.toString());
out.println("I'm afraid I wasn't able to deliver your message to the following addresses.");
out.println("This is a permanent error; I've given up. Sorry it didn't work out. Below");
out.println("I include the list of recipients and the reason why I was unable to deliver");
@@ -378,7 +432,7 @@
Hashtable targets = new Hashtable();
for (Iterator i = recipients.iterator(); i.hasNext();) {
MailAddress target = (MailAddress)i.next();
- String targetServer = target.getHost().toLowerCase();
+ String targetServer = target.getHost().toLowerCase(Locale.US);
Collection temp = (Collection)targets.get(targetServer);
if (temp == null) {
temp = new Vector();
@@ -395,9 +449,20 @@
for (Iterator i = targets.keySet().iterator(); i.hasNext(); ) {
String host = (String) i.next();
Collection rec = (Collection) targets.get(host);
- log("sending mail to " + rec + " on host " + host);
+ StringBuffer logMessageBuffer =
+ new StringBuffer(128)
+ .append("sending mail to ")
+ .append(rec)
+ .append(" on host ")
+ .append(host);
+ log(logMessageBuffer.toString());
mail.setRecipients(rec);
- mail.setName(name + "-to-" + host);
+ StringBuffer nameBuffer =
+ new StringBuffer(128)
+ .append(name)
+ .append("-to-")
+ .append(host);
+ mail.setName(nameBuffer.toString());
outgoing.store(mail);
//Set it to try to deliver (in a separate thread) immediately (triggered by storage)
}
@@ -444,17 +509,22 @@
try {
String key = outgoing.accept(delayTime);
try {
- log(Thread.currentThread().getName() + " will process mail " + key);
- MailImpl mail = outgoing.retrieve(key);
- if (deliver(mail, session)) {
- //Message was successfully delivered/fully failed... delete it
- outgoing.remove(key);
- } else {
- //Something happened that will delay delivery. Store any updates
- outgoing.store(mail);
- }
- //Clear the object handle to make sure it recycles this object.
- mail = null;
+ StringBuffer logMessageBuffer =
+ new StringBuffer(128)
+ .append(Thread.currentThread().getName())
+ .append(" will process mail ")
+ .append(key);
+ log(logMessageBuffer.toString());
+ MailImpl mail = outgoing.retrieve(key);
+ if (deliver(mail, session)) {
+ //Message was successfully delivered/fully failed... delete it
+ outgoing.remove(key);
+ } else {
+ //Something happened that will delay delivery. Store any updates
+ outgoing.store(mail);
+ }
+ //Clear the object handle to make sure it recycles this object.
+ mail = null;
} catch (Exception e) {
// Prevent unexpected exceptions from causing looping by removing
// message from outgoing.
1.3 +6 -1 jakarta-james/src/java/org/apache/james/transport/mailets/ServerTime.java
Index: ServerTime.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/ServerTime.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ServerTime.java 18 Jan 2002 02:48:38 -0000 1.2
+++ ServerTime.java 7 Aug 2002 23:26:38 -0000 1.3
@@ -32,7 +32,12 @@
log("Sending timestamp");
MimeMessage response = (MimeMessage)mail.getMessage().reply(false);
response.setSubject("The time is now...");
- response.setText("This mail server thinks it's " + new java.util.Date() + ".");
+ StringBuffer textBuffer =
+ new StringBuffer(128)
+ .append("This mail server thinks it's ")
+ .append((new java.util.Date()).toString())
+ .append(".");
+ response.setText(textBuffer.toString());
Set recipients = new HashSet();
Address addresses[] = response.getAllRecipients();
1.3 +13 -2 jakarta-james/src/java/org/apache/james/transport/mailets/ToProcessor.java
Index: ToProcessor.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/ToProcessor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ToProcessor.java 18 Jan 2002 02:48:38 -0000 1.2
+++ ToProcessor.java 7 Aug 2002 23:26:38 -0000 1.3
@@ -39,13 +39,24 @@
}
public void service(Mail mail) throws MessagingException {
- log("Sending mail " + mail + " to " + processor);
+ StringBuffer logBuffer =
+ new StringBuffer(128)
+ .append("Sending mail ")
+ .append(mail)
+ .append(" to ")
+ .append(processor);
+ log(logBuffer.toString());
mail.setState(processor);
if (noticeText != null) {
if (mail.getErrorMessage() == null) {
mail.setErrorMessage(noticeText);
} else {
- mail.setErrorMessage(mail.getErrorMessage() + "\r\n" + noticeText);
+ StringBuffer errorMessageBuffer =
+ new StringBuffer(256)
+ .append(mail.getErrorMessage())
+ .append("\r\n")
+ .append(noticeText);
+ mail.setErrorMessage(errorMessageBuffer.toString());
}
}
}
1.5 +9 -3 jakarta-james/src/java/org/apache/james/transport/mailets/ToRepository.java
Index: ToRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/ToRepository.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ToRepository.java 18 Jan 2002 02:48:38 -0000 1.4
+++ ToRepository.java 7 Aug 2002 23:26:38 -0000 1.5
@@ -58,7 +58,13 @@
public void service(Mail genericmail) {
MailImpl mail = (MailImpl)genericmail;
- log("Storing mail " + mail.getName() + " in " + repositoryPath);
+ StringBuffer logBuffer =
+ new StringBuffer(160)
+ .append("Storing mail ")
+ .append(mail.getName())
+ .append(" in ")
+ .append(repositoryPath);
+ log(logBuffer.toString());
repository.store(mail);
if (!passThrough) {
mail.setState(Mail.GHOST);
1.3 +6 -1 jakarta-james/src/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
Index: UseHeaderRecipients.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/UseHeaderRecipients.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UseHeaderRecipients.java 18 Jan 2002 02:48:38 -0000 1.2
+++ UseHeaderRecipients.java 7 Aug 2002 23:26:38 -0000 1.3
@@ -87,7 +87,12 @@
* @return the collection of MailAddress objects.
*/
private Collection getHeaderMailAddresses(MimeMessage message, String name) throws MessagingException {
- log("Checking " + name + " headers");
+ StringBuffer logBuffer =
+ new StringBuffer(64)
+ .append("Checking ")
+ .append(name)
+ .append(" headers");
+ log(logBuffer.toString());
Collection addresses = new Vector();
String[] headers = message.getHeader(name);
String addressString;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>