mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-01 08:16:03 +00:00
https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml
- RFC2852 envelope-deliverby / redirect-deliverby
- RFC3461 envelope-dsn / redirect-dsn
- RFC3894 copy
- RFC4790 comparator-*
- RFC5051 i;unicode-casemap
- RFC5173 body
- RFC5183 environment
- RFC5228 encoded-character / envelope / fileinto
- RFC5229 variables
- RFC5230 vacation
- RFC5231 relational
- RFC5232 imap4flags
- RFC5233 subaddress
- RFC5235 spamtest / spamtestplus / virustest
- RFC5260 date / index
- RFC5293 editheader
- RFC5429 ereject / reject
- RFC5435 enotify
- RFC5463 ihave
- RFC5490 mailbox / mboxmetadata / servermetadata
- RFC5703 enclose / extracttext / foreverypart / mime / replace
- RFC6131 vacation-seconds
- RFC6134 extlists
- RFC6558 convert
- RFC6609 include
- RFC6785 imapsieve
- RFC7352 duplicate
- RFC8579 special-use
- RFC8580 fcc
- RFC regex https://tools.ietf.org/html/draft-ietf-sieve-regex-01
- vnd.cyrus.*
- vnd.dovecot.*
Classes
abstract GrammarCommand
identifier = identifier || constructor.name.toLowerCase().replace(/(test|command|action)$/, '');
arguments = []; only initialized at pushArguments()
abstract ControlCommand extends GrammarCommand
IncludeCommand extends ControlCommand
global = false; // ':personal' / ':global';
once = false;
optional = false;
value = new GrammarQuotedString;
ReturnCommand extends ControlCommand
no properties
GlobalCommand extends ControlCommand
value = new GrammarStringList;
ForEveryPartCommand extends ControlCommand
_name = new GrammarString;
commands = new GrammarCommands;
ErrorCommand extends ControlCommand
message = new GrammarQuotedString;
RequireCommand extends ControlCommand
capabilities = new GrammarStringList();
StopCommand extends ControlCommand
no properties
abstract ConditionalCommand extends ControlCommand
no properties
IfCommand extends ConditionalCommand
test = null; // must be descendent instanceof TestCommand
commands = new GrammarCommands;
ElsIfCommand extends IfCommand
test = null; // must be descendent instanceof TestCommand
commands = new GrammarCommands;
ElseCommand extends ConditionalCommand
no properties
commands = new GrammarCommands;
abstract ActionCommand extends GrammarCommand
FileIntoCommand extends ActionCommand
_mailbox = new GrammarQuotedString();
copy = false;
create = false;
RedirectCommand extends ActionCommand
_address = new GrammarQuotedString();
copy = false;
list = null;
KeepCommand extends ActionCommand
no properties
DiscardCommand extends ActionCommand
no properties
SetCommand extends ActionCommand
modifiers = [];
_name = new GrammarQuotedString;
_value = new GrammarQuotedString;
VacationCommand extends ActionCommand
_days = new GrammarNumber;
_seconds = new GrammarNumber;
_subject = new GrammarQuotedString;
_from = new GrammarQuotedString;
addresses = new GrammarStringList;
mime = false;
_handle = new GrammarQuotedString;
_reason = new GrammarQuotedString; // QuotedString / MultiLine
SetFlagCommand extends ActionCommand
_variablename = new GrammarQuotedString;
list_of_flags = new GrammarStringList;
AddFlagCommand extends ActionCommand
_variablename = new GrammarQuotedString;
list_of_flags = new GrammarStringList;
RemoveFlagCommand extends ActionCommand
_variablename = new GrammarQuotedString;
list_of_flags = new GrammarStringList;
AddHeaderCommand extends ActionCommand
last = false;
field_name = new GrammarQuotedString;
value = new GrammarQuotedString;
DeleteHeaderCommand extends ActionCommand
index = new GrammarNumber;
last = false;
comparator = '',
match_type = ':is',
field_name = new GrammarQuotedString;
value_patterns = new GrammarStringList;
ErejectCommand extends ActionCommand
_reason = new GrammarQuotedString;
RejectCommand extends ActionCommand
_reason = new GrammarQuotedString;
NotifyCommand extends ActionCommand
_method = new GrammarQuotedString;
_from = new GrammarQuotedString;
_importance = new GrammarNumber;
options = new GrammarStringList;
_message = new GrammarQuotedString;
ReplaceCommand extends ActionCommand
mime = false;
_subject = new GrammarQuotedString;
_from = new GrammarQuotedString;
replacement = new GrammarQuotedString;
EncloseCommand extends ActionCommand
_subject = new GrammarQuotedString;
headers = new GrammarStringList;
ExtractTextCommand extends ActionCommand
modifiers = [];
_first = new GrammarNumber;
varname = new GrammarQuotedString;
abstract TestCommand extends GrammarCommand
AddressTest extends TestCommand
address_part = ':all';
header_list = new GrammarStringList;
key_list = new GrammarStringList;
index = new GrammarNumber;
last = false;
// mime // anychild
AllOfTest extends TestCommand
tests = new GrammarTestList;
AnyOfTest extends TestCommand
tests = new GrammarTestList;
EnvelopeTest extends TestCommand
address_part = ':all';
envelope_part = new GrammarStringList;
key_list = new GrammarStringList;
ExistsTest extends TestCommand
header_names = new GrammarStringList;
// mime // anychild
FalseTest extends TestCommand
HeaderTest extends TestCommand
address_part = ':all';
header_names = new GrammarStringList;
key_list = new GrammarStringList;
index = new GrammarNumber;
last = false;
mime = false;
anychild = false;
// when ":mime" is used:
type = false;
subtype = false;
contenttype = false;
param = new GrammarStringList;
NotTest extends TestCommand
test = new TestCommand;
SizeTest extends TestCommand
mode = ':over'; // :under
limit = 0;
TrueTest extends TestCommand
BodyTest extends TestCommand
body_transform = ''; // :raw, :content <string-list>, :text
key_list = new GrammarStringList;
EnvironmentTest extends TestCommand
name = new GrammarQuotedString;
key_list = new GrammarStringList;
StringTest extends TestCommand
source = new GrammarStringList;
key_list = new GrammarStringList;
HasFlagTest extends TestCommand
variable_list = new GrammarStringList;
list_of_flags = new GrammarStringList;
SpamTestTest extends TestCommand
percent = false, // 0 - 100 else 0 - 10
value = new GrammarQuotedString;
VirusTestTest extends TestCommand
value = new GrammarQuotedString; // 1 - 5
DateTest extends TestCommand
zone = new GrammarQuotedString;
originalzone = false;
header_name = new GrammarQuotedString;
date_part = new GrammarQuotedString;
key_list = new GrammarStringList;
index = new GrammarNumber;
last = false;
CurrentDateTest extends TestCommand
zone = new GrammarQuotedString;
date_part = new GrammarQuotedString;
key_list = new GrammarStringList;
ValidNotifyMethodTest extends TestCommand
notification_uris = new GrammarStringList;
NotifyMethodCapabilityTest extends TestCommand
notification_uri = new GrammarQuotedString;
notification_capability = new GrammarQuotedString;
key_list = new GrammarStringList;
IHaveTest extends TestCommand
capabilities = new GrammarStringList;
MailboxExistsTest extends TestCommand
mailbox_names = new GrammarStringList;
MetadataTest extends TestCommand
mailbox = new GrammarQuotedString;
annotation_name = new GrammarQuotedString;
key_list = new GrammarStringList;
MetadataExistsTest extends TestCommand
mailbox = new GrammarQuotedString;
annotation_names = new GrammarStringList;
ServerMetadataTest extends TestCommand
annotation_name = new GrammarQuotedString;
key_list = new GrammarStringList;
ServerMetadataExistsTest extends TestCommand
annotation_names = new GrammarStringList;
ValidExtListTest extends TestCommand
ext_list_names = new GrammarStringList;