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;">"string"</span> 0027 <span style="color:#f44f4f;">"string</span><span style="color:#3daee9;">\n</span><span style="color:#f44f4f;">with</span><span style="color:#3daee9;">\"</span><span style="color:#f44f4f;">special chars"</span> 0028 <span style="color:#7a7c7d;"># not a string</span> 0029 <span style="color:#f44f4f;">"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"</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;">\"</span><span style="color:#f44f4f;"> "with quotes"</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;">"$</span><span style="color:#3daee9;">${hex:24 24}</span><span style="color:#f44f4f;">"</span> 0049 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${unicode:40}</span><span style="color:#f44f4f;">"</span> 0050 <span style="color:#f44f4f;">"$</span><span style="color:#3daee9;">${hex:40}</span><span style="color:#f44f4f;">"</span> 0051 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${hex: da }</span><span style="color:#f44f4f;">"</span> 0052 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${hex:FE }</span><span style="color:#f44f4f;">"</span> 0053 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${HEX: 40}</span><span style="color:#f44f4f;">"</span> 0054 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${unicode:40}</span><span style="color:#f44f4f;">"</span> 0055 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${UNICODE:40}</span><span style="color:#f44f4f;">"</span> 0056 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${UnICoDE:0000040}</span><span style="color:#f44f4f;">"</span> 0057 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${Unicode:ff}</span><span style="color:#f44f4f;">"</span> 0058 <span style="color:#7a7c7d;">#invalid</span> 0059 <span style="color:#f44f4f;">"${hex:40"</span> 0060 <span style="color:#f44f4f;">"${hex:4</span><span style="color:#3daee9;">${hex:30}</span><span style="color:#f44f4f;">}"</span> 0061 <span style="color:#f44f4f;">"${ unicode:40}"</span> 0062 <span style="color:#f44f4f;">"${Unicode:Cool}"</span> 0063 <span style="color:#7a7c7d;"># semantic errors, syntactically correct</span> 0064 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${hex:400}</span><span style="color:#f44f4f;">"</span> 0065 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${unicode:200000}</span><span style="color:#f44f4f;">"</span> 0066 <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">${Unicode:DF01}</span><span style="color:#f44f4f;">"</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;">"From"</span>, <span style="color:#f44f4f;">"Date"</span>], 0070 <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">"from"</span> <span style="color:#f44f4f;">"fool@example.com"</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;">"From"</span>, <span style="color:#f44f4f;">"Date"</span>], 0074 <span style="color:#7f8c8d;">header</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">"from"</span> <span style="color:#f44f4f;">"fool@example.com"</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;">"i;octet"</span> <span style="color:#f44f4f;">"Subject"</span> <span style="color:#f44f4f;">"MAKE MONEY FAST"</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;">"inbox.bla"</span>; 0096 <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">"test@kde.org"</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;">"from"</span> <span style="color:#f44f4f;">"foo"</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;">"subject"</span>] [<span style="color:#f44f4f;">"$$$"</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;">"INBOX"</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;">"fileinto"</span>; 0111 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"vacation"</span>, <span style="color:#f44f4f;">"imapflags"</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;">"from"</span> <span style="color:#f44f4f;">"kde@example.com"</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;">"From"</span>, <span style="color:#f44f4f;">"To"</span>] <span style="color:#f44f4f;">"example.com"</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;">"from"</span> <span style="color:#f44f4f;">"kde@example.com"</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;">"From"</span>,<span style="color:#f44f4f;">"Date"</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;">"Cc"</span> <span style="color:#f44f4f;">"?*"</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;">"MAKE MONEY FAST"</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;">"text"</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> [<span style="color:#f44f4f;">"bla"</span>, <span style="color:#f44f4f;">"blub"</span>] { 0165 <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">"inbox.foo"</span>; 0166 } 0167 0168 <span style="color:#7a7c7d;"># Convert RFC6558</span> 0169 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"convert"</span>]; 0170 <span style="color:#8e44ad;">convert</span> <span style="color:#f44f4f;">"image/tiff"</span> <span style="color:#f44f4f;">"image/jpeg"</span> [<span style="color:#f44f4f;">"pix-x=320"</span>,<span style="color:#f44f4f;">"pix-y=240"</span>]; 0171 0172 <span style="color:#7a7c7d;"># Copy RFC3894</span> 0173 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"copy"</span>, <span style="color:#f44f4f;">"fileinto"</span>]; 0174 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:copy</span> <span style="color:#f44f4f;">"incoming"</span>; 0175 0176 <span style="color:#7a7c7d;"># Date RFC5260</span> 0177 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"date"</span>, <span style="color:#f44f4f;">"relational"</span>, <span style="color:#f44f4f;">"fileinto"</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;">"from"</span> <span style="color:#f44f4f;">"boss@example.com"</span>, 0179 <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"ge"</span> <span style="color:#27ae60;">:originalzone</span> <span style="color:#f44f4f;">"date"</span> <span style="color:#f44f4f;">"hour"</span> <span style="color:#f44f4f;">"09"</span>, 0180 <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"lt"</span> <span style="color:#27ae60;">:originalzone</span> <span style="color:#f44f4f;">"date"</span> <span style="color:#f44f4f;">"hour"</span> <span style="color:#f44f4f;">"17"</span>) 0181 { <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">"urgent"</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;">"received"</span> <span style="color:#f44f4f;">"weekday"</span> <span style="color:#f44f4f;">"0"</span>, 0183 <span style="color:#7f8c8d;">date</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">"received"</span> <span style="color:#f44f4f;">"weekday"</span> <span style="color:#f44f4f;">"6"</span>) 0184 { <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">"weekend"</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;">"weekday"</span> <span style="color:#f44f4f;">"0"</span>, 0186 <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">"weekday"</span> <span style="color:#f44f4f;">"6"</span>, 0187 <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"lt"</span> <span style="color:#f44f4f;">"hour"</span> <span style="color:#f44f4f;">"09"</span>, 0188 <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"ge"</span> <span style="color:#f44f4f;">"hour"</span> <span style="color:#f44f4f;">"17"</span>) 0189 { <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">"pager@example.com"</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;">"ge"</span> <span style="color:#f44f4f;">"date"</span> <span style="color:#f44f4f;">"2007-06-30"</span>, 0191 <span style="color:#7f8c8d;">currentdate</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"le"</span> <span style="color:#f44f4f;">"date"</span> <span style="color:#f44f4f;">"2007-07-07"</span>) 0192 { <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:days</span> <span style="color:#f67400;">7</span> <span style="color:#f44f4f;">"I'm away during the first week in July."</span>; } 0193 0194 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"date"</span>, <span style="color:#f44f4f;">"variables"</span>, <span style="color:#f44f4f;">"fileinto"</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;">"month"</span> <span style="color:#f44f4f;">"*"</span> { <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"month"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">"</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;">"year"</span> <span style="color:#f44f4f;">"*"</span> { <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"year"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">"</span>; } 0197 <span style="color:#8e44ad;">fileinto</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${month}</span><span style="color:#f44f4f;">-</span><span style="color:#27aeae;">${year}</span><span style="color:#f44f4f;">"</span>; 0198 0199 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"variables"</span>, <span style="color:#f44f4f;">"date"</span>, <span style="color:#f44f4f;">"editheader"</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;">"std11"</span> <span style="color:#f44f4f;">"*"</span> {<span style="color:#8e44ad;">addheader</span> <span style="color:#f44f4f;">"Processing-date"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${0}</span><span style="color:#f44f4f;">"</span>;} 0201 0202 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"date"</span>, <span style="color:#f44f4f;">"relational"</span>, <span style="color:#f44f4f;">"index"</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;">"gt"</span> <span style="color:#27ae60;">:index</span> <span style="color:#f67400;">2</span> <span style="color:#27ae60;">:zone</span> <span style="color:#f44f4f;">"-0500"</span> <span style="color:#f44f4f;">"received"</span> <span style="color:#f44f4f;">"iso8601"</span> <span style="color:#f44f4f;">"2007-02-26T09:00:00-05:00"</span> 0204 { <span style="color:#8e44ad;">redirect</span> <span style="color:#f44f4f;">"aftercutoff@example.org"</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;">"received"</span> <span style="color:#f44f4f;">"*(* [*.*.*.*])*"</span> {} 0207 0208 <span style="color:#7a7c7d;"># Duplicate RFC7352</span> 0209 <span style="font-weight:bold;">require</span> [<span style="color:#f44f4f;">"duplicate"</span>, <span style="color:#f44f4f;">"variables"</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;">"message-id"</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;">"message-id"</span> <span style="color:#f44f4f;">"*"</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;">"</span><span style="color:#27aeae;">${0}</span><span style="color:#f44f4f;">"</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;">"X-Hello"</span> <span style="color:#f44f4f;">"World"</span>; 0218 <span style="color:#8e44ad;">deleteheader</span> <span style="color:#27ae60;">:index</span> <span style="color:#f67400;">1</span> <span style="color:#f44f4f;">"X-Hello"</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;">"Content-Type"</span> <span style="color:#f44f4f;">"image"</span> {} 0231 <span style="color:#8e44ad;">replace</span> <span style="color:#f44f4f;">"Executable attachment removed by user filter"</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;">"filename"</span> <span style="color:#0099ff;font-weight:bold;">:matches</span> [<span style="color:#f44f4f;">"Content-Type"</span>, <span style="color:#f44f4f;">"Content-Disposition"</span>] 0234 [<span style="color:#f44f4f;">"*.com"</span>, <span style="color:#f44f4f;">"*.exe"</span>, <span style="color:#f44f4f;">"*.vbs"</span>, <span style="color:#f44f4f;">"*.scr"</span>, <span style="color:#f44f4f;">"*.pif"</span>, <span style="color:#f44f4f;">"*.hta"</span>, <span style="color:#f44f4f;">"*.bat"</span>, <span style="color:#f44f4f;">"*.zip"</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;">"Warning"</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;">"msgcontent"</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;">"1"</span> <span style="color:#27ae60;">:message</span> <span style="color:#f44f4f;">"This is probably very important"</span> <span style="color:#f44f4f;">"mailto:kde@example.com"</span>; 0249 <span style="color:#8e44ad;">notify</span> <span style="color:#27ae60;">:message</span> <span style="color:#f44f4f;">"</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;">"</span> <span style="color:#f44f4f;">"mailto:kde@example.com"</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;">"mailto:"</span>, <span style="color:#f44f4f;">"http://gw.example.net/notify?test"</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;">"xmpp:tim@example.com?message;subject=SIEVE"</span> <span style="color:#f44f4f;">"Online"</span> <span style="color:#f44f4f;">"yes"</span> {} 0252 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:encodeurl</span> <span style="color:#f44f4f;">"body_param"</span> <span style="color:#f44f4f;">"stuff"</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;">"notify"</span> <span style="color:#f44f4f;">"SUCCESS"</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;">"notify"</span> <span style="color:#f44f4f;">"FAILURE"</span>, <span style="color:#7f8c8d;">envelope</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#0099ff;font-weight:bold;">:count</span> <span style="color:#f44f4f;">"eq"</span> <span style="color:#f44f4f;">"notify"</span> <span style="color:#f44f4f;">"1"</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;">"orcpt"</span> <span style="color:#f44f4f;">"rfc822;*@example.com"</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;">"bytimerelative"</span> <span style="color:#f44f4f;">"-"</span>, <span style="color:#7f8c8d;">envelope</span> <span style="color:#0099ff;font-weight:bold;">:value</span> <span style="color:#f44f4f;">"eq"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"bytimerelative"</span> <span style="color:#f44f4f;">"0"</span>) {} 0259 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#27ae60;">:notify</span> <span style="color:#f44f4f;">"NEVER"</span> <span style="color:#f44f4f;">"elsewhere@example.com"</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;">"cellphone@example.com"</span>; 0261 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#27ae60;">:bytimeabsolute</span> <span style="color:#f44f4f;">"</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;">"</span> <span style="color:#27ae60;">:bymode</span> <span style="color:#f44f4f;">"return"</span> <span style="color:#f44f4f;">"cellphone@example.com"</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;">"item"</span> <span style="color:#f44f4f;">""</span> {} 0265 0266 <span style="color:#7a7c7d;"># Reject RFC5429</span> 0267 <span style="color:#8e44ad;">ereject</span> <span style="color:#f44f4f;">"I no longer accept mail from this address"</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;">"from"</span> <span style="color:#f44f4f;">":addrbook:default"</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;">"date"</span> <span style="color:#f44f4f;">"tag:example.com,2011-01-01:localHolidays"</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;">"to"</span> <span style="color:#f44f4f;">"mylist"</span>, <span style="color:#7f8c8d;">header</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">"from"</span> <span style="color:#f44f4f;">"tag:example.com,2010-05-28:mylist"</span>) { 0278 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:list</span> <span style="color:#f44f4f;">"tag:example.com,2010-05-28:mylist"</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;">"</span><span style="color:#27aeae;">${ip}</span><span style="color:#f44f4f;">"</span> <span style="color:#f44f4f;">"tag:example.com,2011-04-10:DisallowedIPs"</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;">"filename"</span> <span style="color:#27ae60;">:list</span> [<span style="color:#f44f4f;">"Content-Type"</span>, <span style="color:#f44f4f;">"Content-Disposition"</span>] <span style="color:#f44f4f;">"tag:example.com,2011-04-10:BadFileNameExts"</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;">"fileinto"</span> {} 0285 <span style="color:#8e44ad;">error</span> <span style="color:#f44f4f;">"failed!"</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;">"imap.cause"</span> <span style="color:#f44f4f;">"APPEND"</span>, <span style="color:#7f8c8d;">environment</span> <span style="color:#0099ff;font-weight:bold;">:is</span> <span style="color:#f44f4f;">"imap.cause"</span> <span style="color:#f44f4f;">"COPY"</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;">"imap.mailbox"</span> <span style="color:#f44f4f;">"ActionItems"</span> { 0290 <span style="color:#8e44ad;">redirect</span> <span style="color:#27ae60;">:copy</span> <span style="color:#f44f4f;">"actionitems@example.com"</span>; 0291 } 0292 } 0293 0294 <span style="color:#7a7c7d;"># IMAP4 Flags RFC5232</span> 0295 <span style="color:#8e44ad;">setflag</span> <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted"</span>; 0296 <span style="color:#8e44ad;">setflag</span> <span style="color:#f44f4f;">"flagvar"</span> <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Flagged"</span>; 0297 <span style="color:#8e44ad;">addflag</span> <span style="color:#f44f4f;">"flagvar"</span> <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted"</span>; 0298 <span style="color:#8e44ad;">addflag</span> <span style="color:#f44f4f;">"flagvar"</span> [<span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted"</span>, <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Answered"</span>]; 0299 <span style="color:#8e44ad;">removeflag</span> <span style="color:#f44f4f;">"flagvar"</span> <span style="color:#f44f4f;">"$MDNRequired"</span>; 0300 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">"MyVar"</span> <span style="color:#f44f4f;">"Junk"</span> 0301 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:contains</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${MyVar}</span><span style="color:#f44f4f;">"</span> [<span style="color:#f44f4f;">"label"</span>, <span style="color:#f44f4f;">"forward"</span>] 0302 <span style="color:#7f8c8d;">hasflag</span> <span style="color:#0099ff;font-weight:bold;">:count</span> <span style="color:#f44f4f;">"ge"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"MyFlags"</span> <span style="color:#f67400;">2</span> 0303 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:flags</span> <span style="color:#f44f4f;">"</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">Deleted"</span> <span style="color:#f44f4f;">"INBOX.bla"</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;">"always_allow"</span>; 0307 <span style="color:#8e44ad;">include</span> <span style="color:#27ae60;">:global</span> <span style="color:#f44f4f;">"spam_tests"</span>; 0308 <span style="color:#8e44ad;">return</span>; 0309 <span style="font-weight:bold;">global</span> <span style="color:#f44f4f;">"i_am_on_vacation"</span>; 0310 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"global.i_am_on_vacation"</span> <span style="color:#f44f4f;">"1"</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;">"bla"</span> {} 0314 <span style="color:#8e44ad;">fileinto</span> <span style="color:#27ae60;">:create</span> <span style="color:#f44f4f;">"inbox.bla"</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;">"INBOX"</span> <span style="color:#f44f4f;">"/private/vendor/vendor.isode/auto-replies"</span> <span style="color:#f44f4f;">"on"</span> {} 0316 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">metadataexists</span> <span style="color:#f44f4f;">"INBOX"</span> <span style="color:#f44f4f;">"/private/vendor/foo"</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;">"/private/vendor/vendor.isode/notification-uri"</span> <span style="color:#f44f4f;">"*"</span> {} 0318 <span style="font-weight:bold;">if</span> <span style="color:#7f8c8d;">servermetadataexists</span> <span style="color:#f44f4f;">"/private/vendor/foo"</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;">"to"</span>, <span style="color:#f44f4f;">"cc"</span>, <span style="color:#f44f4f;">"bcc"</span>] <span style="color:#f44f4f;">"me(</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">+.*)?@company</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">.com"</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;">"ge"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> [<span style="color:#f44f4f;">"to"</span>, <span style="color:#f44f4f;">"cc"</span>] [<span style="color:#f44f4f;">"3"</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;">"lt"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> [<span style="color:#f44f4f;">"x-priority"</span>] [<span style="color:#f44f4f;">"3"</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;">"eq"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"0"</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;">"ge"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"3"</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;">"lt"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"37"</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;">"eq"</span> <span style="color:#27ae60;">:comparator</span> <span style="color:#f44f4f;">"i;ascii-numeric"</span> <span style="color:#f44f4f;">"4"</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;">"to"</span> <span style="color:#f44f4f;">"postmaster"</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;">"to"</span> <span style="color:#f44f4f;">"mta-filters"</span> {} 0336 0337 <span style="color:#7a7c7d;"># Vacation RFC5230</span> 0338 <span style="color:#8e44ad;">vacation</span> <span style="color:#f44f4f;">"I'm out"</span>; 0339 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:subject</span> <span style="color:#f44f4f;">"Automatic response to: </span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">"</span> 0340 <span style="color:#f44f4f;">"I'm away -- send mail to foo in my absence"</span>; 0341 <span style="color:#8e44ad;">vacation</span> <span style="color:#27ae60;">:handle</span> <span style="color:#f44f4f;">"ran-away"</span> <span style="color:#f44f4f;">"I'm out"</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;"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"</span> 0353 <span style="color:#f44f4f;"> "http://www.w3.org/TR/REC-html40/strict.dtd"></span> 0354 <span style="color:#f44f4f;"> <HTML><HEAD><TITLE>How to relax</TITLE></span> 0355 <span style="color:#f44f4f;"> <BASE HREF="http://home.example.com/pictures/"></HEAD></span> 0356 <span style="color:#f44f4f;"> <BODY><P>I'm at the <A HREF="beach.gif">beach</A> relaxing.</span> 0357 <span style="color:#f44f4f;"> </BODY></HTML></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;">"kde@example.edu"</span>] <span style="color:#f44f4f;">"I'm away until October 19."</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;">"kde@example.edu"</span>] <span style="color:#27ae60;">:seconds</span> <span style="color:#f67400;">1800</span> 0366 <span style="color:#f44f4f;">"I am in a meeting, and do not have access to email."</span>; 0367 0368 <span style="color:#7a7c7d;"># Variables RFC5229</span> 0369 <span style="color:#f44f4f;">"&%${}!"</span> <span style="color:#7a7c7d;"># invalid</span> 0370 <span style="color:#f44f4f;">"${doh!}"</span> <span style="color:#7a7c7d;">#invalid</span> 0371 <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${company}</span><span style="color:#f44f4f;">"</span> 0372 <span style="color:#f44f4f;">"bla </span><span style="color:#27aeae;">${var42}</span><span style="color:#f44f4f;"> blub"</span> 0373 <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${1}</span><span style="color:#f44f4f;">"</span> 0374 <span style="color:#f44f4f;">"${BAD</span><span style="color:#27aeae;">${Company}</span><span style="color:#f44f4f;">"</span> <span style="color:#7a7c7d;"># second one is the variable</span> 0375 <span style="color:#f44f4f;">"${President, </span><span style="color:#27aeae;">${Company}</span><span style="color:#f44f4f;"> Inc.}"</span> <span style="color:#7a7c7d;"># inner one is the variable</span> 0376 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"var"</span> <span style="color:#f44f4f;">"value"</span>; 0377 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"var2"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${var}</span><span style="color:#f44f4f;">"</span>; 0378 0379 <span style="color:#8e44ad;">set</span> <span style="color:#f44f4f;">"a"</span> <span style="color:#f44f4f;">"juMBlEd lETteRS"</span>; 0380 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:length</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">"</span>; 0381 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:lower</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">"</span>; 0382 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:upperfirst</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">"</span>; 0383 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:upperfirst</span> <span style="color:#27ae60;">:lower</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">"</span>; 0384 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:quotewildcard</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"Rock*"</span>; 0385 <span style="color:#8e44ad;">set</span> <span style="color:#27ae60;">:lowerfirst</span> <span style="color:#f44f4f;">"b"</span> <span style="color:#f44f4f;">"</span><span style="color:#27aeae;">${a}</span><span style="color:#f44f4f;">"</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;">" </span><span style="color:#27aeae;">${state}</span><span style="color:#f44f4f;"> "</span> <span style="color:#f44f4f;">"* pending *"</span> {} 0388 0389 <span style="color:#7a7c7d;"># Dovecot debug extension</span> 0390 <span style="font-weight:bold;">require</span> <span style="color:#f44f4f;">"vnd.dovecot.debug"</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;">"subject"</span> <span style="color:#f44f4f;">"hello"</span> { 0392 <span style="color:#8e44ad;">debug_log</span> <span style="color:#f44f4f;">"Subject header contains hello!"</span>; 0393 } 0394 </pre></body></html>