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