Object ret = js.call(null, new JS[] { m });
Log.debug(this, "configuration script returned " + ret);
if (ret == null) throw new IOException("configuration script returned null");
+ while (ret instanceof JSReflection.Wrapper) ret = ((JSReflection.Wrapper)ret).unwrap();
if (ret instanceof Target) ((Target)ret).accept(m);
//else if (ret instanceof Filter) ((Filter)ret).process(m);
else throw new IOException("configuration script returned a " + ret.getClass().getName());
case "log.warn": return METHOD;
case "log.error": return METHOD;
case "list": return getSub("list");
+ case "url": return getSub("url");
+ case "url.encode": return METHOD;
case "mail": return getSub("mail");
case "mail.forward": return METHOD;
case "mail.forward2": return METHOD;
case "mail.later": return Later.instance;
case "mail.drop": return Drop.instance;
case "mail.bounce": return METHOD;
+ case "mail.error": return METHOD;
case "mail.my": return getSub("mail.my");
case "mail.my.prefs": try {
return new org.ibex.js.Directory(new File("/etc/org.ibex.mail.prefs"));
final int nargs = args.length;
String name = JSU.toString(name0);
try {
- if (name.equals("mail.list")) return MailingList.getMailingList(JS.toString(args[0])).acceptor;
+ if (name.equals("url.encode")) return JSU.S(java.net.URLEncoder.encode(JSU.toString(args[0])));
+ if (name.equals("mail.list")) return JSReflection.wrap(MailingList.getMailingList(JSU.toString(args[0])));
if (name.equals("date")) { return new JSDate(args); }
if (name.equals("mail.send") || name.equals("send") || name.equals("mail.attempt") || name.equals("attempt")) {
boolean attempt = name.equals("mail.attempt") || name.equals("attempt");
org.ibex.mail.protocol.SMTP.Outgoing.attempt(m2);
return Drop.instance;
}
+ if (name.equals("mail.error"))
+ throw new MailException.Malformed(JSU.toString(a));
if (name.equals("log.debug") || name.equals("debug")) { JSU.debug(a== null ? "**null**" : JSU.toString(a)); return null; }
if (name.equals("log.info") || name.equals("info")) { JSU.info(a== null ? "**null**" : JSU.toString(a)); return null; }
if (name.equals("log.warn") || name.equals("warn")) { JSU.warn(a== null ? "**null**" : JSU.toString(a)); return null; }
case 2:
if (name.equals("regexp")) {return new JSRegexp(a, b); }
}
+ } catch (MailException e) { throw e;
} catch (Exception e) {
Log.warn(this, "ibex."+name+"() threw: " + e);
Log.warn(this, e);