From 8f31ec912eedb029222591cf94c182a262a719a7 Mon Sep 17 00:00:00 2001 From: adam Date: Fri, 18 Mar 2005 09:10:24 +0000 Subject: [PATCH] added synchronous send via SMTP darcs-hash:20050318091024-5007d-1dc898bb4c633d830aeb5e359ffa2fc8b1835765.gz --- src/org/ibex/mail/target/Script.java | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/org/ibex/mail/target/Script.java b/src/org/ibex/mail/target/Script.java index 2f00ca4..6a7395a 100644 --- a/src/org/ibex/mail/target/Script.java +++ b/src/org/ibex/mail/target/Script.java @@ -115,6 +115,8 @@ public class Script extends Target { case "mail.forward": return METHOD; case "mail.forward2": return METHOD; case "mail.send": return METHOD; + case "mail.attempt": return METHOD; + case "mail.later": return Later.instance; case "mail.drop": return Drop.instance; case "mail.bounce": return METHOD; case "mail.my": return getSub("mail.my"); @@ -137,7 +139,8 @@ public class Script extends Target { String name = JSU.toString(name0); try { if (name.equals("date")) { return new JSDate(args); } - if (name.equals("mail.send") || name.equals("send")) { + if (name.equals("mail.send") || name.equals("send") || name.equals("mail.attempt") || name.equals("attempt")) { + boolean attempt = name.equals("mail.attempt") || name.equals("attempt"); JS m = (JS)a; StringBuffer headers = new StringBuffer(); String body = ""; @@ -160,10 +163,20 @@ public class Script extends Target { envelopeFrom, envelopeTo ); - //org.ibex.mail.protocol.SMTP.Outgoing.accept(message); - boolean ok = org.ibex.mail.protocol.SMTP.Outgoing.attempt(message); - if (!ok) throw new JSExn("SMTP server rejected message"); - return JSU.T; + + boolean ok = false; + try { + if (attempt) { + org.ibex.mail.protocol.SMTP.Outgoing.attempt(message); + } else { + org.ibex.mail.protocol.SMTP.Outgoing.accept(message); + } + ok = true; + } catch (Exception ex) { + if (!attempt) Log.warn(this, ex); + } + if (!ok && !attempt) throw new JSExn("SMTP server rejected message"); + return JSU.B(ok); } if (name.equals("mail.bounce")) { return new Target() { -- 1.7.10.4