// FIXME: logging: current logging sucks
// FIXME: loop prevention
+// FIXME: probably need some throttling on outbound mail
// graylisting?
// 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 {
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(".");