pgoldstein 2002/09/28 17:09:46
Modified: src/java/org/apache/james/transport/mailets
NotifyPostmaster.java NotifySender.java
Log:
This is a patch for bug #9669. The NotifyPostmaster and NotifySender mailets
unnecessarily parsed the headers of the mails being processed. This led to exceptions
that unnecessarily aborted the processing when the headers didn't contain valid data.
The attached files are changed so that the raw headers are accessed directly.
Revision Changes Path
1.9 +15 -14
jakarta-james/src/java/org/apache/james/transport/mailets/NotifyPostmaster.java
Index: NotifyPostmaster.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/NotifyPostmaster.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- NotifyPostmaster.java 14 Sep 2002 06:22:37 -0000 1.8
+++ NotifyPostmaster.java 29 Sep 2002 00:09:46 -0000 1.9
@@ -140,27 +140,28 @@
while (rcptTo.hasNext()) {
out.println(" " + rcptTo.next());
}
- Address[] rcpts = message.getFrom();
- if (rcpts != null) {
+ String[] addresses = null;
+ addresses = message.getHeader(RFC2822Headers.FROM);
+ if (addresses != null) {
out.print(" From: ");
- for (int i = 0; i < rcpts.length; i++) {
- out.print(rcpts[i] + " ");
+ for (int i = 0; i < addresses.length; i++) {
+ out.print(addresses[i] + " ");
}
out.println();
}
- rcpts = message.getRecipients(Message.RecipientType.TO);
- if (rcpts != null) {
+ addresses = message.getHeader(RFC2822Headers.TO);
+ if (addresses != null) {
out.print(" To: ");
- for (int i = 0; i < rcpts.length; i++) {
- out.print(rcpts[i] + " ");
+ for (int i = 0; i < addresses.length; i++) {
+ out.print(addresses[i] + " ");
}
out.println();
}
- rcpts = message.getRecipients(Message.RecipientType.CC);
- if (rcpts != null) {
+ addresses = message.getHeader(RFC2822Headers.CC);
+ if (addresses != null) {
out.print(" CC: ");
- for (int i = 0; i < rcpts.length; i++) {
- out.print(rcpts[i] + " ");
+ for (int i = 0; i < addresses.length; i++) {
+ out.print(addresses[i] + " ");
}
out.println();
}
@@ -204,14 +205,14 @@
recipients.add(getMailetContext().getPostmaster());
//Set additional headers
- if (reply.getHeader(RFC2822Headers.DATE)==null){
+ if (reply.getHeader(RFC2822Headers.DATE)==null) {
reply.setHeader(RFC2822Headers.DATE, rfc822DateFormat.format(new
Date()));
}
String subject = message.getSubject();
if (subject == null) {
subject = "";
}
- if (subject.indexOf("Re:") == 0){
+ if (subject.indexOf("Re:") == 0) {
reply.setSubject(subject);
} else {
reply.setSubject("Re:" + subject);
1.10 +3 -2
jakarta-james/src/java/org/apache/james/transport/mailets/NotifySender.java
Index: NotifySender.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/NotifySender.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- NotifySender.java 14 Sep 2002 06:22:37 -0000 1.9
+++ NotifySender.java 29 Sep 2002 00:09:46 -0000 1.10
@@ -133,7 +133,8 @@
if (message.getSentDate() != null) {
out.println(" Sent date: " + message.getSentDate());
}
- Address[] rcpts = message.getRecipients(Message.RecipientType.TO);
+ String[] rcpts = null;
+ rcpts = message.getHeader(RFC2822Headers.TO);
if (rcpts != null) {
out.print(" To: ");
for (int i = 0; i < rcpts.length; i++) {
@@ -141,7 +142,7 @@
}
out.println();
}
- rcpts = message.getRecipients(Message.RecipientType.CC);
+ rcpts = message.getHeader(RFC2822Headers.CC);
if (rcpts != null) {
out.print(" CC: ");
for (int i = 0; i < rcpts.length; i++) {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>