Warning, file /frameworks/syntax-highlighting/autotests/html/test.sieve.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>test.sieve</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Sieve) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;"># Sieve syntax highlighting test</span>
0008 <span style="color:#7a7c7d;"># see RFC 5228</span>
0009 
0010 <span style="color:#7a7c7d;"># comments §2.3.</span>
0011 
0012 <span style="color:#7a7c7d;"># Single line with alerts </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#7a7c7d;"> </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">###</span>
0013 <span style="color:#7a7c7d;">/*</span>
0014 <span style="color:#7a7c7d;"> Multiline comment with alerts </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">FIXME</span>
0015 <span style="color:#7a7c7d;"> this also should be folding region</span>
0016 <span style="color:#7a7c7d;"> */</span>
0017 
0018 <span style="color:#7a7c7d;"># literal data §2.4.</span>
0019 <span style="color:#7a7c7d;"># numbers §2.4.1.</span>
0020 <span style="color:#f67400;">42</span>
0021 <span style="color:#f67400;">100K</span>
0022 <span style="color:#f67400;">10M</span>
0023 <span style="color:#f67400;">3G</span>
0024 
0025 <span style="color:#7a7c7d;"># strings §2.4.2.</span>
0026 <span style="color:#f44f4f;">&quot;string&quot;</span>
0027 <span style="color:#f44f4f;">&quot;string</span><span style="color:#3daee9;">\n</span><span style="color:#f44f4f;">with</span><span style="color:#3daee9;">\&quot;</span><span style="color:#f44f4f;">special chars&quot;</span>
0028 <span style="color:#7a7c7d;"># not a string</span>
0029 <span style="color:#f44f4f;">&quot;multi \</span>
0030 <span style="color:#f44f4f;"> line \</span>
0031 <span style="color:#f44f4f;"> #with</span><span style="color:#3daee9;">\a</span><span style="color:#f44f4f;"> \</span>
0032 <span style="color:#f44f4f;"> continuation&quot;</span>
0033 <span style="color:#7a7c7d;"># not a string</span>
0034 <span style="color:#f44f4f;">text:</span>
0035 <span style="color:#f44f4f;">Multiline</span>
0036 <span style="color:#f44f4f;">string</span><span style="color:#3daee9;">\&quot;</span><span style="color:#f44f4f;"> &quot;with quotes&quot;</span>
0037 <span style="color:#f44f4f;">or # comments</span>
0038 <span style="color:#f44f4f;">this should also be a folding region</span>
0039 <span style="color:#f44f4f;">.dot</span>
0040 <span style="color:#f44f4f;">..dot</span>
0041 <span style="color:#f44f4f;">dotstuffed dot:</span>
0042 <span style="color:#f44f4f;">..</span>
0043 <span style="color:#f44f4f;">ending with a single .</span>
0044 <span style="color:#f44f4f;">.</span>
0045 
0046 <span style="color:#7a7c7d;"># encoded characters §2.4.2.4.</span>
0047 <span style="color:#7a7c7d;"># valid</span>
0048 <span style="color:#f44f4f;">&quot;$</span><span style="color:#3daee9;">${hex:24 24}</span><span style="color:#f44f4f;">&quot;</span>
0049 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${unicode:40}</span><span style="color:#f44f4f;">&quot;</span>
0050 <span style="color:#f44f4f;">&quot;$</span><span style="color:#3daee9;">${hex:40}</span><span style="color:#f44f4f;">&quot;</span>
0051 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${hex: da }</span><span style="color:#f44f4f;">&quot;</span>
0052 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${hex:FE }</span><span style="color:#f44f4f;">&quot;</span>
0053 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${HEX: 40}</span><span style="color:#f44f4f;">&quot;</span>
0054 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${unicode:40}</span><span style="color:#f44f4f;">&quot;</span>
0055 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${UNICODE:40}</span><span style="color:#f44f4f;">&quot;</span>
0056 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${UnICoDE:0000040}</span><span style="color:#f44f4f;">&quot;</span>
0057 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${Unicode:ff}</span><span style="color:#f44f4f;">&quot;</span>
0058 <span style="color:#7a7c7d;">#invalid</span>
0059 <span style="color:#f44f4f;">&quot;${hex:40&quot;</span>
0060 <span style="color:#f44f4f;">&quot;${hex:4</span><span style="color:#3daee9;">${hex:30}</span><span style="color:#f44f4f;">}&quot;</span>
0061 <span style="color:#f44f4f;">&quot;${ unicode:40}&quot;</span>
0062 <span style="color:#f44f4f;">&quot;${Unicode:Cool}&quot;</span>
0063 <span style="color:#7a7c7d;"># semantic errors, syntactically correct</span>
0064 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${hex:400}</span><span style="color:#f44f4f;">&quot;</span>
0065 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${unicode:200000}</span><span style="color:#f44f4f;">&quot;</span>
0066 <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">${Unicode:DF01}</span><span style="color:#f44f4f;">&quot;</span>
0067 
0068 <span style="color:#7a7c7d;"># test lists §2.5.1</span>
0069 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">anyof</span> (<span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">exists</span> [<span style="color:#f44f4f;">&quot;From&quot;</span>, <span style="color:#f44f4f;">&quot;Date&quot;</span>],
0070           <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;fool@example.com&quot;</span>) {
0071     <span style="color:#8e44ad;">discard</span>;
0072 }
0073 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">allof</span> (<span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">exists</span> [<span style="color:#f44f4f;">&quot;From&quot;</span>, <span style="color:#f44f4f;">&quot;Date&quot;</span>],
0074           <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;fool@example.com&quot;</span>) {
0075     <span style="color:#8e44ad;">discard</span>;
0076 }
0077 
0078 <span style="color:#7a7c7d;"># match types §2.7.1.</span>
0079 <span style="color:#0099ff;font-weight:bold;">:contains</span>
0080 <span style="color:#0099ff;font-weight:bold;">:matches</span>
0081 <span style="color:#0099ff;font-weight:bold;">:is</span>
0082 
0083 <span style="color:#7a7c7d;"># comparators §2.7.3.</span>
0084 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;octet&quot;</span> <span style="color:#f44f4f;">&quot;Subject&quot;</span> <span style="color:#f44f4f;">&quot;MAKE MONEY FAST&quot;</span> {
0085     <span style="color:#8e44ad;">discard</span>;
0086 }
0087 
0088 <span style="color:#7a7c7d;"># comparison against addresses §2.7.4.</span>
0089 <span style="color:#27ae60;">:localpart</span>
0090 <span style="color:#27ae60;">:domain</span>
0091 <span style="color:#27ae60;">:all</span>
0092 
0093 <span style="color:#7a7c7d;"># commands §2.9.</span>
0094 <span style="color:#8e44ad;">keep</span>;
0095 <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;inbox.bla&quot;</span>;
0096 <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">&quot;test@kde.org&quot;</span>;
0097 <span style="color:#8e44ad;">discard</span>;
0098 
0099 <span style="color:#7a7c7d;"># control if §3.1.</span>
0100 <span style="color:#7a7c7d;"># this also should create folding regions</span>
0101 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;foo&quot;</span> {
0102     <span style="color:#8e44ad;">discard</span>;
0103 } <span style="font-weight:bold;">elsif</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> [<span style="color:#f44f4f;">&quot;subject&quot;</span>] [<span style="color:#f44f4f;">&quot;$$$&quot;</span>] {
0104     <span style="color:#8e44ad;">discard</span>;
0105 } <span style="font-weight:bold;">else</span> {
0106     <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;INBOX&quot;</span>;
0107 }
0108 
0109 <span style="color:#7a7c7d;"># control require §3.2.</span>
0110 <span style="font-weight:bold;">require</span> <span style="color:#f44f4f;">&quot;fileinto&quot;</span>;
0111 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;vacation&quot;</span>, <span style="color:#f44f4f;">&quot;imapflags&quot;</span>];
0112 
0113 <span style="color:#7a7c7d;"># control stop §3.3.</span>
0114 <span style="color:#8e44ad;">stop</span>;
0115 
0116 <span style="color:#7a7c7d;"># test commands §5.</span>
0117 <span style="color:#7f8c8d;">address</span>
0118 <span style="color:#7f8c8d;">allof</span>
0119 <span style="color:#7f8c8d;">anyof</span>
0120 <span style="color:#7f8c8d;">exists</span>
0121 <span style="color:#7f8c8d;">false</span>
0122 <span style="color:#7f8c8d;">header</span>
0123 <span style="color:#7f8c8d;">not</span>
0124 <span style="color:#7f8c8d;">size</span>
0125 <span style="color:#7f8c8d;">true</span>
0126 
0127 <span style="color:#7a7c7d;"># test address §5.1.</span>
0128 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">address</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#27ae60;">:all</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;kde@example.com&quot;</span> {
0129     <span style="color:#8e44ad;">discard</span>;
0130 } <span style="font-weight:bold;">elsif</span> <span style="color:#7f8c8d;">address</span> <span style="color:#27ae60;">:domain</span> <span style="color:#0099ff;font-weight:bold;">:is</span> [<span style="color:#f44f4f;">&quot;From&quot;</span>, <span style="color:#f44f4f;">&quot;To&quot;</span>] <span style="color:#f44f4f;">&quot;example.com&quot;</span> { <span style="color:#7a7c7d;"># comment</span>
0131     <span style="color:#8e44ad;">keep</span>; <span style="color:#7a7c7d;"># comment</span>
0132 }
0133 
0134 <span style="color:#7a7c7d;"># test envelope §5.4.</span>
0135 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:all</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;kde@example.com&quot;</span> {
0136     <span style="color:#8e44ad;">discard</span>;
0137 }
0138 
0139 <span style="color:#7a7c7d;"># test exists §5.5.</span>
0140 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">exists</span> [<span style="color:#f44f4f;">&quot;From&quot;</span>,<span style="color:#f44f4f;">&quot;Date&quot;</span>] {
0141     <span style="color:#8e44ad;">discard</span>;
0142 }
0143 
0144 <span style="color:#7a7c7d;"># test header §5.7.</span>
0145 <span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;Cc&quot;</span> <span style="color:#f44f4f;">&quot;?*&quot;</span>
0146 
0147 <span style="color:#7a7c7d;"># test size §5.9.</span>
0148 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">size</span> <span style="color:#27ae60;">:over</span> <span style="color:#f67400;">500K</span> { <span style="color:#8e44ad;">discard</span>; }
0149 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">size</span> <span style="color:#27ae60;">:under</span> <span style="color:#f67400;">1M</span> { <span style="color:#8e44ad;">keep</span>; } <span style="font-weight:bold;">else</span> { <span style="color:#8e44ad;">discard</span>; }
0150 
0151 
0152 <span style="color:#7a7c7d;">/*</span>
0153 <span style="color:#7a7c7d;"> * Extensions</span>
0154 <span style="color:#7a7c7d;"> * see https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml</span>
0155 <span style="color:#7a7c7d;"> */</span>
0156 
0157 <span style="color:#7a7c7d;"># Body RFC5173</span>
0158 <span style="color:#27ae60;">:raw</span>
0159 <span style="color:#27ae60;">:content</span>
0160 <span style="color:#27ae60;">:text</span>
0161 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">body</span> <span style="color:#27ae60;">:raw</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;MAKE MONEY FAST&quot;</span> {
0162     <span style="color:#8e44ad;">discard</span>;
0163 }
0164 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">body</span> <span style="color:#27ae60;">:content</span> <span style="color:#f44f4f;">&quot;text&quot;</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> [<span style="color:#f44f4f;">&quot;bla&quot;</span>, <span style="color:#f44f4f;">&quot;blub&quot;</span>] {
0165     <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;inbox.foo&quot;</span>;
0166 }
0167 
0168 <span style="color:#7a7c7d;"># Convert RFC6558</span>
0169 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;convert&quot;</span>];
0170 <span style="color:#8e44ad;">convert</span> <span style="color:#f44f4f;">&quot;image/tiff&quot;</span> <span style="color:#f44f4f;">&quot;image/jpeg&quot;</span> [<span style="color:#f44f4f;">&quot;pix-x=320&quot;</span>,<span style="color:#f44f4f;">&quot;pix-y=240&quot;</span>];
0171 
0172 <span style="color:#7a7c7d;"># Copy RFC3894</span>
0173 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;copy&quot;</span>, <span style="color:#f44f4f;">&quot;fileinto&quot;</span>];
0174 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:copy</span> <span style="color:#f44f4f;">&quot;incoming&quot;</span>;
0175 
0176 <span style="color:#7a7c7d;"># Date RFC5260</span>
0177 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;date&quot;</span>, <span style="color:#f44f4f;">&quot;relational&quot;</span>, <span style="color:#f44f4f;">&quot;fileinto&quot;</span>];
0178 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">allof</span>(<span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;boss@example.com&quot;</span>,
0179          <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#27ae60;">:originalzone</span> <span style="color:#f44f4f;">&quot;date&quot;</span> <span style="color:#f44f4f;">&quot;hour&quot;</span> <span style="color:#f44f4f;">&quot;09&quot;</span>,
0180          <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;lt&quot;</span> <span style="color:#27ae60;">:originalzone</span> <span style="color:#f44f4f;">&quot;date&quot;</span> <span style="color:#f44f4f;">&quot;hour&quot;</span> <span style="color:#f44f4f;">&quot;17&quot;</span>)
0181     { <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;urgent&quot;</span>; }
0182 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">anyof</span>(<span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;received&quot;</span> <span style="color:#f44f4f;">&quot;weekday&quot;</span> <span style="color:#f44f4f;">&quot;0&quot;</span>,
0183          <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;received&quot;</span> <span style="color:#f44f4f;">&quot;weekday&quot;</span> <span style="color:#f44f4f;">&quot;6&quot;</span>)
0184 { <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;weekend&quot;</span>; }
0185 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">anyof</span>(<span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;weekday&quot;</span> <span style="color:#f44f4f;">&quot;0&quot;</span>,
0186          <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;weekday&quot;</span> <span style="color:#f44f4f;">&quot;6&quot;</span>,
0187          <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;lt&quot;</span> <span style="color:#f44f4f;">&quot;hour&quot;</span> <span style="color:#f44f4f;">&quot;09&quot;</span>,
0188          <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#f44f4f;">&quot;hour&quot;</span> <span style="color:#f44f4f;">&quot;17&quot;</span>)
0189 { <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">&quot;pager@example.com&quot;</span>; }
0190 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">allof</span>(<span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#f44f4f;">&quot;date&quot;</span> <span style="color:#f44f4f;">&quot;2007-06-30&quot;</span>,
0191          <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;le&quot;</span> <span style="color:#f44f4f;">&quot;date&quot;</span> <span style="color:#f44f4f;">&quot;2007-07-07&quot;</span>)
0192 { <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:days</span> <span style="color:#f67400;">7</span>  <span style="color:#f44f4f;">&quot;I'm away during the first week in July.&quot;</span>; }
0193 
0194 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;date&quot;</span>, <span style="color:#f44f4f;">&quot;variables&quot;</span>, <span style="color:#f44f4f;">&quot;fileinto&quot;</span>];
0195 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;month&quot;</span> <span style="color:#f44f4f;">&quot;*&quot;</span> { <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;month&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">&quot;</span>; }
0196 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;year&quot;</span>  <span style="color:#f44f4f;">&quot;*&quot;</span> { <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;year&quot;</span>  <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">&quot;</span>; }
0197 <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${month}</span><span style="color:#f44f4f;">-</span><span style="color:#27aeae;">${year}</span><span style="color:#f44f4f;">&quot;</span>;
0198 
0199 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;variables&quot;</span>, <span style="color:#f44f4f;">&quot;date&quot;</span>, <span style="color:#f44f4f;">&quot;editheader&quot;</span>];
0200 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;std11&quot;</span> <span style="color:#f44f4f;">&quot;*&quot;</span> {<span style="color:#8e44ad;">addheader</span> <span style="color:#f44f4f;">&quot;Processing-date&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${0}</span><span style="color:#f44f4f;">&quot;</span>;}
0201 
0202 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;date&quot;</span>, <span style="color:#f44f4f;">&quot;relational&quot;</span>, <span style="color:#f44f4f;">&quot;index&quot;</span>];
0203 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;gt&quot;</span> <span style="color:#27ae60;">:index</span> <span style="color:#f67400;">2</span> <span style="color:#27ae60;">:zone</span> <span style="color:#f44f4f;">&quot;-0500&quot;</span> <span style="color:#f44f4f;">&quot;received&quot;</span> <span style="color:#f44f4f;">&quot;iso8601&quot;</span> <span style="color:#f44f4f;">&quot;2007-02-26T09:00:00-05:00&quot;</span>
0204 { <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">&quot;aftercutoff@example.org&quot;</span>; }
0205 
0206 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:index</span> <span style="color:#f67400;">1</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;received&quot;</span> <span style="color:#f44f4f;">&quot;*(* [*.*.*.*])*&quot;</span> {}
0207 
0208 <span style="color:#7a7c7d;"># Duplicate RFC7352</span>
0209 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">&quot;duplicate&quot;</span>, <span style="color:#f44f4f;">&quot;variables&quot;</span>];
0210 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">duplicate</span> { <span style="color:#8e44ad;">discard</span>; }
0211 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">duplicate</span> <span style="color:#27ae60;">:header</span> <span style="color:#f44f4f;">&quot;message-id&quot;</span> { <span style="color:#8e44ad;">discard</span>; }
0212 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;message-id&quot;</span> <span style="color:#f44f4f;">&quot;*&quot;</span> {
0213     <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">duplicate</span> <span style="color:#27ae60;">:uniqueid</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${0}</span><span style="color:#f44f4f;">&quot;</span> { <span style="color:#8e44ad;">discard</span>; }
0214 }
0215 
0216 <span style="color:#7a7c7d;"># Editheader RFC5293</span>
0217 <span style="color:#8e44ad;">addheader</span> <span style="color:#f44f4f;">&quot;X-Hello&quot;</span> <span style="color:#f44f4f;">&quot;World&quot;</span>;
0218 <span style="color:#8e44ad;">deleteheader</span> <span style="color:#27ae60;">:index</span> <span style="color:#f67400;">1</span> <span style="color:#f44f4f;">&quot;X-Hello&quot;</span>;
0219 
0220 <span style="color:#7a7c7d;"># Enclose RFC5703</span>
0221 <span style="color:#27ae60;">:mime</span>
0222 <span style="color:#27ae60;">:anychild</span>
0223 <span style="color:#27ae60;">:type</span>
0224 <span style="color:#27ae60;">:subtype</span>
0225 <span style="color:#27ae60;">:contenttype</span>
0226 <span style="color:#27ae60;">:param</span>
0227 <span style="color:#8e44ad;">replace</span>
0228 <span style="color:#8e44ad;">enclose</span>
0229 <span style="color:#8e44ad;">extracttext</span>
0230 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:mime</span> <span style="color:#27ae60;">:type</span> <span style="color:#f44f4f;">&quot;Content-Type&quot;</span> <span style="color:#f44f4f;">&quot;image&quot;</span> {}
0231 <span style="color:#8e44ad;">replace</span> <span style="color:#f44f4f;">&quot;Executable attachment removed by user filter&quot;</span>;
0232 <span style="font-weight:bold;">foreverypart</span> {
0233     <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:mime</span> <span style="color:#27ae60;">:param</span> <span style="color:#f44f4f;">&quot;filename&quot;</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> [<span style="color:#f44f4f;">&quot;Content-Type&quot;</span>, <span style="color:#f44f4f;">&quot;Content-Disposition&quot;</span>]
0234         [<span style="color:#f44f4f;">&quot;*.com&quot;</span>, <span style="color:#f44f4f;">&quot;*.exe&quot;</span>, <span style="color:#f44f4f;">&quot;*.vbs&quot;</span>, <span style="color:#f44f4f;">&quot;*.scr&quot;</span>, <span style="color:#f44f4f;">&quot;*.pif&quot;</span>, <span style="color:#f44f4f;">&quot;*.hta&quot;</span>, <span style="color:#f44f4f;">&quot;*.bat&quot;</span>, <span style="color:#f44f4f;">&quot;*.zip&quot;</span> ] {
0235         <span style="color:#7a7c7d;"># these attachment types are executable</span>
0236         <span style="color:#8e44ad;">enclose</span> <span style="color:#27ae60;">:subject</span> <span style="color:#f44f4f;">&quot;Warning&quot;</span> <span style="color:#f44f4f;">text:</span>
0237 <span style="color:#f44f4f;">WARNING! The enclosed message contains executable attachments.</span>
0238 <span style="color:#f44f4f;">These attachment types may contain a computer virus program</span>
0239 <span style="color:#f44f4f;">that can infect your computer and potentially damage your data.</span>
0240 <span style="color:#f44f4f;">.</span>
0241 ;
0242         <span style="color:#8e44ad;">break</span>;
0243     }
0244 }
0245 <span style="color:#8e44ad;">extracttext</span> <span style="color:#27ae60;">:first</span> <span style="color:#f67400;">100</span> <span style="color:#f44f4f;">&quot;msgcontent&quot;</span>;
0246 
0247 <span style="color:#7a7c7d;"># Notify RFC5435</span>
0248 <span style="color:#8e44ad;">notify</span> <span style="color:#27ae60;">:importance</span> <span style="color:#f44f4f;">&quot;1&quot;</span> <span style="color:#27ae60;">:message</span> <span style="color:#f44f4f;">&quot;This is probably very important&quot;</span> <span style="color:#f44f4f;">&quot;mailto:kde@example.com&quot;</span>;
0249 <span style="color:#8e44ad;">notify</span> <span style="color:#27ae60;">:message</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${from_addr}${env_from}</span><span style="color:#f44f4f;">: </span><span style="color:#27aeae;">${subject}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#f44f4f;">&quot;mailto:kde@example.com&quot;</span>;
0250 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">valid_notify_method</span> [<span style="color:#f44f4f;">&quot;mailto:&quot;</span>, <span style="color:#f44f4f;">&quot;http://gw.example.net/notify?test&quot;</span>] { <span style="color:#8e44ad;">stop</span>; }
0251 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">notify_method_capability</span> <span style="color:#f44f4f;">&quot;xmpp:tim@example.com?message;subject=SIEVE&quot;</span> <span style="color:#f44f4f;">&quot;Online&quot;</span> <span style="color:#f44f4f;">&quot;yes&quot;</span> {}
0252 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:encodeurl</span> <span style="color:#f44f4f;">&quot;body_param&quot;</span> <span style="color:#f44f4f;">&quot;stuff&quot;</span>;
0253 
0254 <span style="color:#7a7c7d;"># Envelope DSN RFC6009</span>
0255 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#f44f4f;">&quot;notify&quot;</span> <span style="color:#f44f4f;">&quot;SUCCESS&quot;</span> {}
0256 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">allof</span> (<span style="color:#7f8c8d;">envelope</span> <span style="color:#f44f4f;">&quot;notify&quot;</span> <span style="color:#f44f4f;">&quot;FAILURE&quot;</span>, <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#0099ff;font-weight:bold;">:count</span> <span style="color:#f44f4f;">&quot;eq&quot;</span> <span style="color:#f44f4f;">&quot;notify&quot;</span> <span style="color:#f44f4f;">&quot;1&quot;</span>) {}
0257 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;orcpt&quot;</span> <span style="color:#f44f4f;">&quot;rfc822;*@example.com&quot;</span> {}
0258 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">anyof</span> (<span style="color:#7f8c8d;">envelope</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;bytimerelative&quot;</span> <span style="color:#f44f4f;">&quot;-&quot;</span>, <span style="color:#7f8c8d;">envelope</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;eq&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;bytimerelative&quot;</span> <span style="color:#f44f4f;">&quot;0&quot;</span>) {}
0259 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#27ae60;">:notify</span> <span style="color:#f44f4f;">&quot;NEVER&quot;</span> <span style="color:#f44f4f;">&quot;elsewhere@example.com&quot;</span>;
0260 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#27ae60;">:bytimerelative</span> <span style="color:#f67400;">600</span> <span style="color:#f44f4f;">&quot;cellphone@example.com&quot;</span>;
0261 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#27ae60;">:bytimeabsolute</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${date}</span><span style="color:#f44f4f;">T20:00:00</span><span style="color:#27aeae;">${zone}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#27ae60;">:bymode</span> <span style="color:#f44f4f;">&quot;return&quot;</span> <span style="color:#f44f4f;">&quot;cellphone@example.com&quot;</span>;
0262 
0263 <span style="color:#7a7c7d;"># Environment RFC5183</span>
0264 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">environment</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;item&quot;</span> <span style="color:#f44f4f;">&quot;&quot;</span> {}
0265 
0266 <span style="color:#7a7c7d;"># Reject RFC5429</span>
0267 <span style="color:#8e44ad;">ereject</span> <span style="color:#f44f4f;">&quot;I no longer accept mail from this address&quot;</span>;
0268 <span style="color:#8e44ad;">reject</span> <span style="color:#f44f4f;">text:</span>
0269 <span style="color:#f44f4f;">Your message is too big.  If you want to send me a big attachment,</span>
0270 <span style="color:#f44f4f;">put it on a public web site and send me a URL.</span>
0271 <span style="color:#f44f4f;">.</span>
0272 ;
0273 
0274 <span style="color:#7a7c7d;"># External Lists RFC6134</span>
0275 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;:addrbook:default&quot;</span> {}
0276 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">currentdate</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">&quot;date&quot;</span> <span style="color:#f44f4f;">&quot;tag:example.com,2011-01-01:localHolidays&quot;</span> {}
0277 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">allof</span> (<span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:detail</span> <span style="color:#f44f4f;">&quot;to&quot;</span> <span style="color:#f44f4f;">&quot;mylist&quot;</span>, <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">&quot;from&quot;</span> <span style="color:#f44f4f;">&quot;tag:example.com,2010-05-28:mylist&quot;</span>) {
0278     <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">&quot;tag:example.com,2010-05-28:mylist&quot;</span>;
0279 }
0280 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">string</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${ip}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#f44f4f;">&quot;tag:example.com,2011-04-10:DisallowedIPs&quot;</span> {}
0281 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:mime</span> <span style="color:#27ae60;">:param</span> <span style="color:#f44f4f;">&quot;filename&quot;</span> <span style="color:#27ae60;">:list</span> [<span style="color:#f44f4f;">&quot;Content-Type&quot;</span>, <span style="color:#f44f4f;">&quot;Content-Disposition&quot;</span>] <span style="color:#f44f4f;">&quot;tag:example.com,2011-04-10:BadFileNameExts&quot;</span> {}
0282 
0283 <span style="color:#7a7c7d;"># ihave RFC5463</span>
0284 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">ihave</span> <span style="color:#f44f4f;">&quot;fileinto&quot;</span> {}
0285 <span style="color:#8e44ad;">error</span> <span style="color:#f44f4f;">&quot;failed!&quot;</span>;
0286 
0287 <span style="color:#7a7c7d;"># IMAP Sieve RFC6785</span>
0288 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">anyof</span> (<span style="color:#7f8c8d;">environment</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;imap.cause&quot;</span> <span style="color:#f44f4f;">&quot;APPEND&quot;</span>, <span style="color:#7f8c8d;">environment</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;imap.cause&quot;</span> <span style="color:#f44f4f;">&quot;COPY&quot;</span>)  {
0289     <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">environment</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;imap.mailbox&quot;</span> <span style="color:#f44f4f;">&quot;ActionItems&quot;</span> {
0290         <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#f44f4f;">&quot;actionitems@example.com&quot;</span>;
0291     }
0292 }
0293 
0294 <span style="color:#7a7c7d;"># IMAP4 Flags RFC5232</span>
0295 <span style="color:#8e44ad;">setflag</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted&quot;</span>;
0296 <span style="color:#8e44ad;">setflag</span> <span style="color:#f44f4f;">&quot;flagvar&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Flagged&quot;</span>;
0297 <span style="color:#8e44ad;">addflag</span> <span style="color:#f44f4f;">&quot;flagvar&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted&quot;</span>;
0298 <span style="color:#8e44ad;">addflag</span> <span style="color:#f44f4f;">&quot;flagvar&quot;</span> [<span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted&quot;</span>, <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Answered&quot;</span>];
0299 <span style="color:#8e44ad;">removeflag</span> <span style="color:#f44f4f;">&quot;flagvar&quot;</span> <span style="color:#f44f4f;">&quot;$MDNRequired&quot;</span>;
0300 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;MyVar&quot;</span> <span style="color:#f44f4f;">&quot;Junk&quot;</span>
0301 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${MyVar}</span><span style="color:#f44f4f;">&quot;</span> [<span style="color:#f44f4f;">&quot;label&quot;</span>, <span style="color:#f44f4f;">&quot;forward&quot;</span>]
0302 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:count</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;MyFlags&quot;</span> <span style="color:#f67400;">2</span>
0303 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:flags</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted&quot;</span> <span style="color:#f44f4f;">&quot;INBOX.bla&quot;</span>;
0304 
0305 <span style="color:#7a7c7d;"># Include RFC6609</span>
0306 <span style="color:#8e44ad;">include</span> <span style="color:#27ae60;">:personal</span> <span style="color:#f44f4f;">&quot;always_allow&quot;</span>;
0307 <span style="color:#8e44ad;">include</span> <span style="color:#27ae60;">:global</span> <span style="color:#f44f4f;">&quot;spam_tests&quot;</span>;
0308 <span style="color:#8e44ad;">return</span>;
0309 <span style="font-weight:bold;">global</span> <span style="color:#f44f4f;">&quot;i_am_on_vacation&quot;</span>;
0310 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;global.i_am_on_vacation&quot;</span> <span style="color:#f44f4f;">&quot;1&quot;</span>;
0311 
0312 <span style="color:#7a7c7d;"># Mailbox RFC5490</span>
0313 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">mailboxexists</span> <span style="color:#f44f4f;">&quot;bla&quot;</span> {}
0314 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:create</span> <span style="color:#f44f4f;">&quot;inbox.bla&quot;</span>;
0315 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">metadata</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">&quot;INBOX&quot;</span> <span style="color:#f44f4f;">&quot;/private/vendor/vendor.isode/auto-replies&quot;</span> <span style="color:#f44f4f;">&quot;on&quot;</span> {}
0316 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">metadataexists</span> <span style="color:#f44f4f;">&quot;INBOX&quot;</span> <span style="color:#f44f4f;">&quot;/private/vendor/foo&quot;</span> {}
0317 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">servermetadata</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot;/private/vendor/vendor.isode/notification-uri&quot;</span> <span style="color:#f44f4f;">&quot;*&quot;</span> {}
0318 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">servermetadataexists</span> <span style="color:#f44f4f;">&quot;/private/vendor/foo&quot;</span> {}
0319 
0320 <span style="color:#7a7c7d;"># Regexp (draft)</span>
0321 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">not</span> <span style="color:#7f8c8d;">address</span> <span style="color:#0099ff;font-weight:bold;">:regex</span> [<span style="color:#f44f4f;">&quot;to&quot;</span>, <span style="color:#f44f4f;">&quot;cc&quot;</span>, <span style="color:#f44f4f;">&quot;bcc&quot;</span>] <span style="color:#f44f4f;">&quot;me(</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">+.*)?@company</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">.com&quot;</span> {}
0322 
0323 <span style="color:#7a7c7d;"># Relational RFC5231</span>
0324 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">address</span> <span style="color:#0099ff;font-weight:bold;">:count</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> [<span style="color:#f44f4f;">&quot;to&quot;</span>, <span style="color:#f44f4f;">&quot;cc&quot;</span>] [<span style="color:#f44f4f;">&quot;3&quot;</span>] {}
0325 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;lt&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> [<span style="color:#f44f4f;">&quot;x-priority&quot;</span>] [<span style="color:#f44f4f;">&quot;3&quot;</span>] {}
0326 
0327 <span style="color:#7a7c7d;"># Spamtest RFC5235</span>
0328 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">spamtest</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;eq&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;0&quot;</span> {}
0329 <span style="font-weight:bold;">elsif</span> <span style="color:#7f8c8d;">spamtest</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;ge&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;3&quot;</span> {}
0330 <span style="font-weight:bold;">elsif</span> <span style="color:#7f8c8d;">spamtest</span> <span style="color:#27ae60;">:percent</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;lt&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;37&quot;</span> {}
0331 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">virustest</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">&quot;eq&quot;</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">&quot;i;ascii-numeric&quot;</span> <span style="color:#f44f4f;">&quot;4&quot;</span> {}
0332 
0333 <span style="color:#7a7c7d;"># Subaddress RFC5233</span>
0334 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:user</span> <span style="color:#f44f4f;">&quot;to&quot;</span> <span style="color:#f44f4f;">&quot;postmaster&quot;</span> {}
0335 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:detail</span> <span style="color:#f44f4f;">&quot;to&quot;</span> <span style="color:#f44f4f;">&quot;mta-filters&quot;</span> {}
0336 
0337 <span style="color:#7a7c7d;"># Vacation RFC5230</span>
0338 <span style="color:#8e44ad;">vacation</span> <span style="color:#f44f4f;">&quot;I'm out&quot;</span>;
0339 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:subject</span> <span style="color:#f44f4f;">&quot;Automatic response to: </span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">&quot;</span>
0340                   <span style="color:#f44f4f;">&quot;I'm away -- send mail to foo in my absence&quot;</span>;
0341 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:handle</span> <span style="color:#f44f4f;">&quot;ran-away&quot;</span> <span style="color:#f44f4f;">&quot;I'm out&quot;</span>;
0342 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:mime</span> <span style="color:#f44f4f;">text:</span>
0343 <span style="color:#f44f4f;">   Content-Type: multipart/alternative; boundary=foo</span>
0344 
0345 <span style="color:#f44f4f;">   --foo</span>
0346 
0347 <span style="color:#f44f4f;">   Hello </span><span style="color:#27aeae;">${sender}</span><span style="color:#f44f4f;">, I'm at the beach relaxing.</span>
0348 
0349 <span style="color:#f44f4f;">   --foo</span>
0350 <span style="color:#f44f4f;">   Content-Type: text/html; charset=us-ascii</span>
0351 
0352 <span style="color:#f44f4f;">   &lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot;</span>
0353 <span style="color:#f44f4f;">    &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;</span>
0354 <span style="color:#f44f4f;">   &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;How to relax&lt;/TITLE&gt;</span>
0355 <span style="color:#f44f4f;">   &lt;BASE HREF=&quot;http://home.example.com/pictures/&quot;&gt;&lt;/HEAD&gt;</span>
0356 <span style="color:#f44f4f;">   &lt;BODY&gt;&lt;P&gt;I'm at the &lt;A HREF=&quot;beach.gif&quot;&gt;beach&lt;/A&gt; relaxing.</span>
0357 <span style="color:#f44f4f;">   &lt;/BODY&gt;&lt;/HTML&gt;</span>
0358 
0359 <span style="color:#f44f4f;">   --foo--</span>
0360 <span style="color:#f44f4f;">.</span>
0361 ;
0362 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:days</span> <span style="color:#f67400;">23</span> <span style="color:#27ae60;">:addresses</span> [<span style="color:#f44f4f;">&quot;kde@example.edu&quot;</span>] <span style="color:#f44f4f;">&quot;I'm away until October 19.&quot;</span>;
0363 
0364 <span style="color:#7a7c7d;"># Vacation Seconds RFC6131</span>
0365 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:addresses</span> [<span style="color:#f44f4f;">&quot;kde@example.edu&quot;</span>] <span style="color:#27ae60;">:seconds</span> <span style="color:#f67400;">1800</span>
0366     <span style="color:#f44f4f;">&quot;I am in a meeting, and do not have access to email.&quot;</span>;
0367 
0368 <span style="color:#7a7c7d;"># Variables RFC5229</span>
0369 <span style="color:#f44f4f;">&quot;&amp;%${}!&quot;</span> <span style="color:#7a7c7d;"># invalid</span>
0370 <span style="color:#f44f4f;">&quot;${doh!}&quot;</span> <span style="color:#7a7c7d;">#invalid</span>
0371 <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${company}</span><span style="color:#f44f4f;">&quot;</span>
0372 <span style="color:#f44f4f;">&quot;bla </span><span style="color:#27aeae;">${var42}</span><span style="color:#f44f4f;"> blub&quot;</span>
0373 <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">&quot;</span>
0374 <span style="color:#f44f4f;">&quot;${BAD</span><span style="color:#27aeae;">${Company}</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#7a7c7d;"># second one is the variable</span>
0375 <span style="color:#f44f4f;">&quot;${President, </span><span style="color:#27aeae;">${Company}</span><span style="color:#f44f4f;"> Inc.}&quot;</span> <span style="color:#7a7c7d;"># inner one is the variable</span>
0376 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;var&quot;</span> <span style="color:#f44f4f;">&quot;value&quot;</span>;
0377 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;var2&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${var}</span><span style="color:#f44f4f;">&quot;</span>;
0378 
0379 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">&quot;a&quot;</span> <span style="color:#f44f4f;">&quot;juMBlEd lETteRS&quot;</span>;
0380 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:length</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">&quot;</span>;
0381 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:lower</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">&quot;</span>;
0382 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:upperfirst</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">&quot;</span>;
0383 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:upperfirst</span> <span style="color:#27ae60;">:lower</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">&quot;</span>;
0384 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:quotewildcard</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;Rock*&quot;</span>;
0385 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:lowerfirst</span> <span style="color:#f44f4f;">&quot;b&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">&quot;</span>;
0386 
0387 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">string</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> <span style="color:#f44f4f;">&quot; </span><span style="color:#27aeae;">${state}</span><span style="color:#f44f4f;"> &quot;</span> <span style="color:#f44f4f;">&quot;* pending *&quot;</span> {}
0388 
0389 <span style="color:#7a7c7d;"># Dovecot debug extension</span>
0390 <span style="font-weight:bold;">require</span> <span style="color:#f44f4f;">&quot;vnd.dovecot.debug&quot;</span>;
0391 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">&quot;subject&quot;</span> <span style="color:#f44f4f;">&quot;hello&quot;</span> {
0392     <span style="color:#8e44ad;">debug_log</span> <span style="color:#f44f4f;">&quot;Subject header contains hello!&quot;</span>;
0393 }
0394 </pre></body></html>