Community Knowledge Base

Domain Events

This settings page is only available to domain administrators and system administrators with the proper permissions.

The Event system in SmarterMail is a rule-based automation engine that lets domain administrators react automatically to things happening on their domain, without writing any code. Every event is built from three parts: a trigger (the occurrence being watched for, such as a new user being added or a mailing list receiving a subscriber), one or more conditions that narrow down exactly when the rule should fire, and one or more actions that run once those conditions are satisfied — such as posting an in-app notification or sending an email. For example, a domain administrator could configure an event that emails a mailing list's moderator every time someone new subscribes, or that alerts the domain admin whenever a user's mailbox crosses a disk usage threshold.

When creating a new event for a domain, the following options will be available:

General

  • Event Name – The friendly name of the event, shown in the events list.
  • Event Status – New events default to a status of Enabled. To temporarily stop an event from triggering — for example, while troubleshooting whether it's the source of an unexpected flood of emails — switch its status to Disabled rather than deleting it, which preserves its conditions and actions for later.
  • Event Category – The feature area the event pertains to: User, Mailing List, Alias, Throttling, Email, or Collaboration. This selection determines which specific Event Types are available in the next field.
  • Event Type – The specific occurrence that triggers the event. Each category has several specific event types that can trigger the action; the full list, along with each type's available actions and merge variables, is detailed in the reference table further down this page.
Note: The two Throttling event types, and the Mailing List Subscribe, Unsubscribe, and Bounce Removal event types, all require SmarterMail Enterprise edition. On Standard/Pro edition servers, these Event Types will not be selectable. Each is called out individually in the reference table further down this page.

Conditions

Conditions determine exactly when a triggered event is allowed to run its actions. All conditions added to an event must be satisfied — they're combined with AND, not OR — before any action fires. Most condition types support a comparison appropriate to their data type; for example, a numeric condition such as mailbox usage percentage can be set to Greater Than, Less Than, Equals, or Between a given value. Conditions can be reordered with the up/down arrows in the Conditions list, which is mainly useful for readability, since every condition must still pass regardless of order.

Each event type also exposes its own type-specific conditions (for example, the User Disk Space Used event exposes a mailbox usage percentage condition) — these are covered individually in the reference table below. In addition, two conditions are available across virtually every event type:

  • Day of Week – Restricts the event to only fire on the day(s) of the week selected. Many event types include this condition automatically when a new event is created.
  • Time of Day – Restricts the event to only fire during a specific time range (e.g., only outside of business hours). Unlike Day of Week, this condition isn't added automatically; use the New Condition button to add it if the event needs to be time-boxed.

Actions

Actions define what happens once an event's conditions are satisfied. Two actions are available across virtually every domain-level event type:

  • Show a Notification – Posts a message to the recipient's Notifications window inside SmarterMail, and can optionally also trigger a browser push notification. The Send To option controls who receives it; depending on the event type, this can include the affected User(s), the domain's Domain Admins, the server's System Admins, or a single address entered when the Specified User recipient type is chosen.
  • Send an Email – Sends a fully composed email, with a configurable From Address, Subject, and HTML body, to whichever recipient type is selected under Send To. As with notifications, the available recipient types depend on the event type; some events can only alert the domain admin, while others can also email the affected user directly.

Some Event Types add one or more additional, type-specific actions on top of these two. For example, the Message Received and Message Sent Email events also offer an Add a Recipient action, which silently adds an extra recipient to matching messages, and Message Sent additionally offers Add a Trusted Sender, which automatically whitelists that sender going forward. These type-specific actions are called out individually in the reference table below.

Both the Notification and Email actions include a Max Frequency setting (sometimes referred to as a throttle or constraint). This caps how often the action can actually fire for the same underlying item — the same user, or the same mailing list, for instance — which matters because some triggers, like a message being received, can occur dozens of times a minute. Without this cap, an admin could easily be flooded with near-duplicate notifications describing what is effectively one ongoing situation. As a built-in example, the User Disk Space Used event only re-checks a given mailbox once every 4 hours at minimum (defaulting to once every 24 hours), specifically so a mailbox hovering right at its quota threshold doesn't generate a fresh alert every time the condition happens to re-evaluate.

Every action also lists the Variables available to it — placeholders, written as #variablename#, that can be inserted into a notification's or email's Subject and Body and are automatically replaced with the real value (the triggering user's address, the current mailbox usage percentage, and so on) when the action actually runs. The full set of variables for each event type is listed in the reference table below.

Note: A Send Webhook action, which posts an event's data to an external URL, does exist in SmarterMail — but it's only offered on System Admin-level events (Settings > Events), not on the domain-level events documented on this page. Domain Events are limited to the Notification and Email actions described above, plus whatever type-specific actions a given Event Type adds.

A Practical Example: Email the List Moderator When Someone Subscribes to a Mailing List

This example, adapted from a longstanding SmarterTools knowledge base article, walks through setting up an event that emails a mailing list's moderator every time a new person subscribes to that list. The same steps work almost identically if a list moderator sets this up for themselves from their own Settings > Events area, rather than having a domain administrator configure it on their behalf.

  1. Log into SmarterMail as the domain administrator.
  2. Go to the Events area. A list of existing events will load.
  3. Click the New button.
  4. On the General card, do the following:
    • In the Event Name field, type a descriptive friendly name for the event.
    • In the Event Status drop-down, select Enabled.
    • In the Event Category field, select Mailing List.
    • In the Event Type field, select Mailing List Subscribe.
  5. On the Conditions card, a Day of Week condition may already be present by default; that's fine to leave as-is. Since the goal is to be notified only for one specific list, click the New Condition button and do the following:
    • On the Condition modal, select Mailing List Address from the dropdown, then enter the full address for the list (e.g., testlist@example.com).
    • Click the Save button to add the new condition.
  6. On the Actions (…) card, click the New Action button, then do the following:
    • On the Action modal, select Send an Email from the dropdown.
    • The modal will change to let you set the Max Frequency, From Address, recipient, Subject, etc., and write (or leave at its default) the body of the email that will be sent. Set the recipient to the list moderator's address.
    • Click the Save button.
  7. Click the Save button on the event itself to finish creating it. Once saved and enabled, the event will run the next time someone subscribes to that mailing list.
Note: The Mailing List Subscribe and Unsubscribe event types used in this example require SmarterMail Enterprise edition.

Event Categories, Event Types, Actions, and Event Variables

Each Event Type has its own combination of available Actions and merge variables. The reference below is organized as Category -> Type, followed by each available action and the variables that can be used in that action's Subject and Body.

Note: This list reflects the current build of SmarterMail and may change as event types and variables are added or updated over time.

User -> User Added

Show a Notification

  • Day of Week - #daysofweek#
  • Username — #username#
  • Full Name — #fullname#

Send an Email

  • Day of Week - #daysofweek#
  • Username — #username#
  • Full Name — #fullname#

User -> User Deleted

Show a Notification

  • Day of Week - #daysofweek#
  • Username — #username#
  • Full Name — #fullname#

Send an Email

  • Day of Week - #daysofweek#
  • Username — #username#
  • Full Name — #fullname#

User -> User Changed Password

Show a Notification

  • Username — #username#
  • Full Name — #fullname#

Send an Email

  • Username — #username#
  • Full Name — #fullname#

User -> User Changed Forward

Show a Notification

  • Username — #username#
  • Full Name — #fullname#
  • Forwarding Address — #forwardingaddresses#

Send an Email

  • Username — #username#
  • Full Name — #fullname#
  • Forwarding Address — #forwardingaddresses#

User -> User Disk Space Used

Show a Notification

  • Day of Week - #daysofweek#
  • Mailbox Usage (MB) — #mailboxusagemb#
  • Mailbox Usage (%) — #mailboxusagepercent#
  • Email Address — #emailaddress#
  • Mailbox Allowed Size (MB) — #mailboxsizemax#
  • Username — #username#

Send an Email

  • Day of Week - #daysofweek#
  • Mailbox Usage (MB) — #mailboxusagemb#
  • Mailbox Usage (%) — #mailboxusagepercent#
  • Email Address — #emailaddress#
  • Mailbox Allowed Size (MB) — #mailboxsizemax#
  • Username — #username#

Mailing List -> Mailing List Added

Show a Notification

  • Day of Week - #daysofweek#
  • List Name — #listname#

Send an Email

  • Day of Week - #daysofweek#
  • List Name — #listname#

Mailing List -> Message Sent to Mailing List

Show a Notification

  • Day of Week - #daysofweek#
  • List Name — #listname#
  • From Address — #fromaddress#

Send an Email

  • Day of Week - #daysofweek#
  • List Name — #listname#
  • From Address — #fromaddress#

Mailing List -> Mailing List Deleted

Show a Notification

  • Day of Week - #daysofweek#
  • List Name — #listname#

Send an Email

  • Day of Week - #daysofweek#
  • List Name — #listname#

Mailing List -> Mailing List Bounce Removal

Note: This Event Type requires SmarterMail Enterprise edition.

Send a Notification

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#

Send an Email

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#

Mailing List -> Mailing List Subscribe

Note: This Event Type requires SmarterMail Enterprise edition.

Send a Notification

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#
  • Subscribe Method — #subscribemethod#

Send an Email

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#
  • Subscribe Method — #subscribemethod#

Mailing List -> Mailing List Unsubscribe

Note: This Event Type requires SmarterMail Enterprise edition.

Send a Notification

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#
  • Unsubscribe Method — #unsubscribemethod#

Send an Email

  • Day of Week - #daysofweek#
  • Mailing List Address — #mailinglistaddress#
  • Email Address — #emailaddress#
  • Unsubscribe Method — #unsubscribemethod#

Alias -> Alias Added

Send a Notification

  • Day of Week - #daysofweek#
  • Alias Addresses — #aliasaddresses#
  • Alias Name — #aliasname#

Send an Email

  • Day of Week - #daysofweek#
  • Alias Addresses — #aliasaddresses#
  • Alias Name — #aliasname#

Alias -> Alias Deleted

Send a Notification

  • Day of Week - #daysofweek#
  • Alias Addresses — #aliasaddresses#
  • Alias Name — #aliasname#

Send an Email

  • Day of Week - #daysofweek#
  • Alias Addresses — #aliasaddresses#
  • Alias Name — #aliasname#

Throttling -> User Throttled

Note: This Event Type requires SmarterMail Enterprise edition.

Send a Notification

  • Day of Week - #daysofweek#
  • From Address — #emailfrom#
  • Hard Reject — #hardreject#
  • Throttle Limit Type — #throttlelimittype#

Send an Email

  • Day of Week - #daysofweek#
  • From Address — #emailfrom#
  • Hard Reject — #hardreject#
  • Throttle Limit Type — #throttlelimittype#

Throttling -> Domain Throttled

Note: This Event Type requires SmarterMail Enterprise edition.

Send a Notification

  • Day of Week - #daysofweek#
  • Hard Reject — #hardreject#
  • Throttle Limit Type — #throttlelimittype#

Send an Email

  • Day of Week - #daysofweek#
  • Hard Reject — #hardreject#
  • Throttle Limit Type — #throttlelimittype#

Email -> Bounce Received

Send a Notification

  • Day of Week - #daysofweek#
  • From Address — #fromaddress#
  • To Address — #toaddress#
  • Bound Reason — #bouncereason#
  • Bound Code — #bouncecode#
  • SMTP Response — #smtpresponse#
  • Return Path — #returnpath#
  • Subject — #subject#

Send an Email

  • Day of Week - #daysofweek#
  • From Address — #fromaddress#
  • To Address — #toaddress#
  • Bound Reason — #bouncereason#
  • Bound Code — #bouncecode#
  • SMTP Response — #smtpresponse#
  • Return Path — #returnpath#
  • Subject — #subject#

Email -> Message Received

Corresponds to a message being delivered into a local mailbox on this domain.

Show a Notification

  • Day of Week - #daysofweek#
  • To Address — #toaddress#
  • From Address — #fromaddress#
  • From Domain — #fromdomain#
  • Subject — #subject#
  • Size (KB) — #sizekb#
  • Intra Domain — #intradomain#
  • Spam Level — #spamlevel#
  • Messages an Hour — #amtinhour#

Send an Email

  • Day of Week - #daysofweek#
  • To Address - #toaddress#
  • From Address - #fromaddress#
  • From Domain - #fromdomain#
  • Subject - #subject#
  • Size (KB) - #sizekb#
  • Intra Domain - #intradomain#
  • Spam Level - #spamlevel#
  • Messages an Hour - #amtinhour#

Add a Recipient

Silently adds an extra recipient to the incoming message. No variables present.

Email -> Message Sent

Corresponds to a message being sent out by a user on this domain.

Show a Notification

  • Day of Week - #daysofweek#
  • To Address — #toaddress#
  • To Domain — #todomain#
  • From Address — #fromaddress#
  • Subject — #subject#
  • Intra Domain — #intradomain#
  • Size (KB) — #sizekb#

Send an Email

  • Day of Week - #daysofweek#
  • To Address — #toaddress#
  • To Domain — #todomain#
  • From Address — #fromaddress#
  • Subject — #subject#
  • Intra Domain — #intradomain#
  • Size (KB) — #sizekb#

Add a Trusted Sender

Automatically whitelists the sender's address for the recipient going forward. No variables present.

Add a Recipient

Silently adds an extra recipient to the outgoing message. No variables present.

Collaboration -> Calendar Reminder Occurred

Show a Notification

  • Day of Week - #daysofweek#
  • Subject — #emailsubject#
  • Location — #location#
  • Description — #description#
  • Email Address — #emailaddress#

Send an Email

  • Day of Week - #daysofweek#
  • Subject — #emailsubject#
  • Location — #location#
  • Description — #description#
  • Email Address — #emailaddress#

Collaboration -> Task Reminder Occurred

Show a Notification

  • Day of Week - #daysofweek#
  • Subject — #emailsubject#
  • Description — #description#
  • Priority — #priority#
  • Percent Complete — #percentcomplete#
  • Status — #status#
  • Email Address — #emailaddress#

Send an Email

  • Day of Week - #daysofweek#
  • Subject — #emailsubject#
  • Description — #description#
  • Priority — #priority#
  • Percent Complete — #percentcomplete#
  • Status — #status#
  • Email Address — #emailaddress#