- Log.info(SMTP.Outgoing.class, "connected");
- check(conn.readln()); // banner
- conn.println("HELO " + conn.vhost); check(conn.readln());
- conn.println("MAIL FROM:" + (m.envelopeFrom==null?"<>":m.envelopeFrom.toString())); check(conn.readln());
- conn.println("RCPT TO:" + (m.envelopeTo==null?"<>":m.envelopeTo.toString())); check(conn.readln());
- conn.println("DATA"); check(conn.readln());
- conn.println(m.toString());
+ Log.note(" connected");
+ check(conn.readln(), conn); // banner
+ try {
+ conn.println("EHLO " + conn.vhost);
+ check(conn.readln(), conn);
+ } catch (SMTPException smtpe) {
+ conn.println("HELO " + conn.vhost);
+ check(conn.readln(), conn);
+ }
+ if (m.envelopeFrom==null) {
+ Log.warn("", "MAIL FROM:<>");
+ conn.println("MAIL FROM:<>"); check(conn.readln(), conn);
+ } else {
+ Log.warn("", "MAIL FROM:<" + m.envelopeFrom.toString()+">");
+ conn.println("MAIL FROM:<" + m.envelopeFrom.toString()+">"); check(conn.readln(), conn);
+ }
+ 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");
+ Stream stream = head.getStream();
+ for(String s = stream.readln(); s!=null; s=stream.readln()) {
+ if (s.startsWith(".")) conn.print(".");
+ //Log.warn("***",s);
+ conn.println(s);
+ }
+ //Log.warn("***","");
+ conn.println("");
+ stream = m.getBody().getStream();
+ for(String s = stream.readln(); s!=null; s=stream.readln()) {
+ if (s.startsWith(".")) conn.print(".");
+ //Log.warn("***",s);
+ conn.println(s);
+ }