Added new expression condition variables

master
M66B 3 weeks ago
parent d0ad023727
commit 21893d607e

@ -3021,8 +3021,12 @@ Commonly used are && (=and) and || (=or).
The following extra variables are available:
* *received* (long, unix epoch in milliseconds; since version 1.2179)
* *submitter* (array of strings, sent on behalf of; since version 1.2234)
* *from* (array of strings)
* *to* (array of strings)
* *cc* (array of strings; since version 1.2234)
* *bcc* (array of strings; since version 1.2234)
* *replyto* (array of strings; since version 1.2234)
* *subject* (string)
* *text* (string)
* *hasAttachments* (boolean; deprecated, use function *attachments()* instead)

@ -85,16 +85,41 @@ public class ExpressionHelper {
return null;
String eval = jcondition.getString("expression");
List<String> to = new ArrayList<>();
if (message != null && message.to != null)
for (Address a : message.to)
to.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> return_path = new ArrayList<>();
if (message != null && message.return_path != null)
for (Address a : message.return_path)
return_path.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> submitter = new ArrayList<>();
if (message != null && message.submitter != null)
for (Address a : message.submitter)
submitter.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> from = new ArrayList<>();
if (message != null && message.from != null)
for (Address a : message.from)
from.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> to = new ArrayList<>();
if (message != null && message.to != null)
for (Address a : message.to)
to.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> cc = new ArrayList<>();
if (message != null && message.cc != null)
for (Address a : message.cc)
cc.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> bcc = new ArrayList<>();
if (message != null && message.bcc != null)
for (Address a : message.bcc)
bcc.add(MessageHelper.formatAddresses(new Address[]{a}));
List<String> replyto = new ArrayList<>();
if (message != null && message.reply != null)
for (Address a : message.reply)
replyto.add(MessageHelper.formatAddresses(new Address[]{a}));
if (html == null && message != null && message.content)
try {
html = Helper.readText(message.getFile(context));
@ -148,8 +173,13 @@ public class ExpressionHelper {
Expression expression = new Expression(eval, configuration)
.with("received", message == null ? null : message.received)
.with("to", to)
.with("return_path", return_path)
.with("submitter", submitter)
.with("from", from)
.with("to", to)
.with("cc", cc)
.with("bcc", bcc)
.with("replyto", replyto)
.with("subject", message == null ? null : message.subject)
.with("text", doc == null ? null : doc.text());

@ -1647,8 +1647,12 @@ X-Google-Original-From: Somebody &lt;somebody+extra@example.org&gt;</code></pre>
<p>The following extra variables are available:</p>
<ul>
<li><em>received</em> (long, unix epoch in milliseconds; since version 1.2179)</li>
<li><em>submitter</em> (array of strings, sent on behalf of; since version 1.2234)</li>
<li><em>from</em> (array of strings)</li>
<li><em>to</em> (array of strings)</li>
<li><em>cc</em> (array of strings; since version 1.2234)</li>
<li><em>bcc</em> (array of strings; since version 1.2234)</li>
<li><em>replyto</em> (array of strings; since version 1.2234)</li>
<li><em>subject</em> (string)</li>
<li><em>text</em> (string)</li>
<li><em>hasAttachments</em> (boolean; deprecated, use function <em>attachments()</em> instead)</li>

Loading…
Cancel
Save