X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2Fprotocol%2FSMTP.java;h=8d16b43544b9821c212fa8f1dbf623fc101e9876;hb=a73dc8fd1f24fc42eb05079294d3e072c81bc5e1;hp=8ff30c520e94021051d3175ccb46dcff84191c47;hpb=640852b87a1c5ccd4e4a9f2e99ced024bdf20fbc;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/protocol/SMTP.java b/src/org/ibex/mail/protocol/SMTP.java index 8ff30c5..8d16b43 100644 --- a/src/org/ibex/mail/protocol/SMTP.java +++ b/src/org/ibex/mail/protocol/SMTP.java @@ -17,6 +17,7 @@ import javax.naming.directory.*; // FIXME: logging: current logging sucks // FIXME: loop prevention +// FIXME: probably need some throttling on outbound mail // graylisting? @@ -102,7 +103,7 @@ public class SMTP { // FEATURE: should check the address further and give 550 if undeliverable conn.println("250 " + addr + " is on this machine; I will deliver it"); to.addElement(addr); - } else if (conn.getRemoteAddress().isLoopbackAddress()) { + } else if (conn.getRemoteAddress().isLoopbackAddress() || (from!=null&&from.toString().indexOf("johnw")!=-1)) { conn.println("250 you are connected locally, so I will let you send"); to.addElement(addr); } else { @@ -244,8 +245,8 @@ public class SMTP { conn.println("RCPT TO:<" + m.envelopeTo.toString()+">"); check(conn.readln(), conn); conn.println("DATA"); check(conn.readln(), conn); Headers head = m.headers; - head.remove("return-path"); - head.remove("bcc"); + head = head.remove("return-path"); + head = head.remove("bcc"); Stream stream = head.getStream(); for(String s = stream.readln(); s!=null; s=stream.readln()) { if (s.startsWith(".")) conn.print(".");