Manage cookies that are used for advertising, such as ad personalization, remarketing, and ad effectiveness analysis.
4.3.1.3.3. Conditions and actions in WebMail.Online filters
In WebMail.Online, filters are implemented using the Sieve language, which allows you to flexibly customize the desired filtering of messages and response to them. There is visual editor for more convenient rule generation.
Conditions
Sieve allows you to configure filtering based on almost any message header. During configuration, you can use existing conditions or specify the desired header manually.
Types of data to be compared:
| Type | Description | Header |
|---|---|---|
| "Subject" | Search by subject header | subject |
| "Sender" | Search by from header | from |
| "Recipient" | Search by to header | to |
| "Message body" | Search by message text | — |
| "Size" | Comparing the size of the whole message and its attachments | — |
| "Date" | Search by Date header | Date |
| "Current date" | Comparison of the current date or time. Date is taken according to Kiev time GMT+3 | — |
| "Line" | Comparison of variables passed in the message. After selection, an additional field for specifying the title will appear | — |
| "Message" | Detecting duplicate messages | — |
In addition to the multiple types of data to be compared, you also need to select the method of comparison:
| Type | Description | Parameter in Sieve |
|---|---|---|
| For all data types except "Size", "Message": | ||
| "contains" | Search for specified text in incoming data | :contain |
| "does not contain" | ||
| "matches" | Full match of incoming data with the data specified in the filter | :is |
| "does not match" | ||
| "exists" | Checking the existence of the selected type of incoming data | exists |
| "does not exist" | ||
| "matches expression" | Search for specified text in incoming data, but with the ability to specify wildcards in the form: * — any number of any characters, ? — any single character | :matches |
| "does not match expression" | ||
| "match regular expression" | Search for text using a regular expression | :regex |
| "does not match regular expression" | ||
| "quantity greater than" | Counting the specified headings in the message and comparing their number with the specified data | :count |
| "quantity greater than or equal" | ||
| "quantity less than" | ||
| "quantity less than or equal" | ||
| "quantity equal" | ||
| "quantity not equal" | ||
| "value greater than" | Mathematical comparison of the header value with the specified data | :value |
| "value greater than or equal" | ||
| "value less than" | ||
| "value less than or equal" | ||
| "value equal" | ||
| "value not equal" | ||
| For data types "Date", "Current date", an additional parameter will appear with the date field data type selection: | ||
| "date (yyyy-mm-dd)" | Date in standard form "Year-month-day" | "date" |
| "date (ISO8601)" | Date in ISO 8601 standard form year-month-dayThour:minute:second+timezone or 2025-01-21T11:21:44+0300 | "iso8601" |
| "date (RFC2822)" | Date considering the RFC2822 agreement as Weekday, day month year hour:minute:second:time standard or Tue, 07 Feb 1984 12:34:56 GMT | "std11" |
| "date (Julian)" | The number of days that have passed since January 1, 4713 B.C. | "julian" |
| "time (hh:mm:ss)" | Time in hours:minutes:seconds | "time" |
| "year" | Determine one data type from the entire date | "year" |
| "month" | "month" |
|
| "day" | "day" |
|
| "hour" | "hour" |
|
| "minute" | "minute" |
|
| "second" | "second" |
|
| "weekday (0-6)" | Weekday, where 0 is Monday and 6 is Sunday | "weekday" |
| "timezone" | Definition of timezone, specified exclusively according to RFC2822, i.e. as 4 digits where +\-HourHourMinuteMinute, e.g. 0300 | "zone" |
Actions
In Sieve, there are many variations of message actions to flexibly customize the handling of incoming mail:
| Action | Description | Parameters | Function in Sieve |
|---|---|---|---|
| "Move message to" | Move a message to a specific folder without saving it in the current one | Select a folder from the existing ones | fileinto |
| "Copy message to" | Copy a message to a specific folder | fileinto :copy |
|
| "Redirect message to" | Redirect a message to another mailbox without saving it in the current mailbox | Specify the target mailbox | redirect |
| "Send copy of message to" | Redirect a copy of a message to another mailbox and save it in the current mailbox | redirect :copy |
|
| "Bounce with message" | Do not save a message in the mailbox and reply to it automatically | Text of the message reply to be sent | reject |
| "Reply with message" | Save a message in the mailbox and reply to it ( analog of the autoresponder) | Text of the reply to be sent Subject of the message ( subjec header)Sender's return address ( from header) — be sure to specify the same box for which filters are configuredMy email addresses — list of additional addresses to which you can send a message How frequently to send messages — frequency of replies to messages from unique mailboxes, i.e. if 2 messages are sent from admin@example.com during the day — an automatic reply will be sent only once. | vacation with parameters: :days, :addresses, :subject, :from |
| "Delete message" | Delete a message without the sender's server being aware of it | — | discard |
| "Add labels to message" | Add standard flags or labels | Select available and previously created flags and labels | addflag |
| "Remove labels from message" | Remove previously added flags or labels for a message. | removeflag |
|
| "Send notification" | Send a single notification to a specific mailbox | Notification object — recipient's mailbox Notification message Sender of the notification ( from header) — optional parameter and does not need to be specifiedImportance Notification parameters — additional parameters to be specified in the notification | notify with parameters: :importance, :from, :message |
| "Leave message in Inbox" | Do not move the message to other folders and leave it in your inbox | — | keep |
| "Finish executing" | Finish execution of all active filters. The function interrupts execution of the filter chain — only the filters before this action will be executed, the subsequent filters will not be executed | — | stop |