System Events
| This settings page is only available to administrators of the SmarterMail installation. |
The Event system in SmarterMail is an incredibly powerful and flexible tool that allows administrators to automatically perform actions based on specific criteria and remain up-to-date with what is going on with the SmarterMail server, domains and user accounts. SmarterMail can detect events as they occur, generate messages for those events, and deliver the messages to users that need the information. For example, a system administrator can create an event that will automatically notify a domain's administrator(s) when a domain's disk space has met a certain threshold.
Another example can be a situation where, for business or legal reasons, a company wants all of the emails sent to and from their users to be "journaled", or sent offsite for backup purposes. While SmarterMail includes a robust Archiving feature, journaling is a little different. In many cases, a company wants messages copied to another address, at another service, to serve as a backup, or archive, of their communications. The Events system in SmarterMail makes this very easy. Events can be created — one for messages sent and one for messages received — that add a recipient to each type of message. This recipient can be an external address that collects all of a domain's emails for off site backup. The senders, and recipients, won't even be aware that their messages are being journaled.
By default, SmarterMail is installed with several pre-defined system events. These are available to help system administrators keep track of important information, such as the impending expiration of any paid add-ons, when a new version is available to be downloaded and installed, when the overall disk space usage on the server is getting to a critical point, when a user's disk space is getting to a critical point and more. Any "built-in" Events are labeled as such — these Events can not be deleted, though they can be edited. Other pre-defined events can be edited and changed to match the needs of the system and system administrator, or deleted entirely.
Creating New Events
To create a new event, click New. The following options will be available:
General
- Event Name - The friendly name of the event.
- Event Status - New events default to a status of Enabled. However, to temporarily stop an event from triggering, you can change the status to Disabled.
- Event Category - The feature to which the event pertains: User, Mailing List, Alias, Throttling, Email or Collaboration.
- Event Type - The occurence that triggers the event. Each category has several specific event types that can trigger the action.
Conditions
Each event type has its own corresponding conditions. The global conditions that are seen across all event types are listed below.
- Time of Day - The time frame during which the event occurs.
- Day of Week - The day(s) of the week during which the event occurs.
- Service - The service impacted that would fire the event: SMTP, POP, IMAP, Delivery, POP Retrieval.
Actions
Each event type has its own corresponding actions. The global actions that are seen across all event types are listed below.
- Send a notification - This option will send a notification to the Notifications window. It can also send a popup browser notification and an email.
- Send an email - This option will send an email to the specified address.
- Command Line Action - Execute a specified command line.
- Send Webhook - Allows a connection to a third party application or service to be called as a result of a condition being met.
Using Webhooks in Event Actions
A webhook is essentially a way to have event driven communication between two different applications. From a practical standpoint, a webhook can be used to call an outside application that then performs some action. For example, an event action that posts a message to a company's Slack channel when something occurs. These are usually smaller, more lightweight messages instead of robust communications.
Event Categories, Event Types, Actions, and Event Variables
Each Event Type can have its own list of Actions. Below is a list of Event Type (Category -> Type), the available Actions, and their associated variables.
System -> Service Started
Show a Notification
- Day of Week - #daysofweek#
- Service — #service#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Service — #service#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Service Stopped
Show a Notification
- Day of Week - #daysofweek#
- Service — #service#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Service — #service#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Spool Count
Show a Notification
- Day of Week - #daysofweek#
- Spool Count — #spoolcount#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Spool Count — #spoolcount#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> System Uptime
Show a Notification
- Day of Week - #daysofweek#
- Uptime (Days) — #uptimedays#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Uptime (Days) — #uptimedays#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Memory
Show a Notification
- Day of Week - #daysofweek#
- Memory Used (MB) — #memorymbused#
- Memory Used (%) — #memorypercent#
- Max Memory (MB) — #memorymbmax#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Memory Used (MB) — #memorymbused#
- Memory Used (%) — #memorypercent#
- Max Memory (MB) — #memorymbmax#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Threads
Show a Notification
- Day of Week - #daysofweek#
- Thread Count — #threads#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Thread Count — #threads#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Gateway Failure
Show a Notification
- Day of Week - #daysofweek#
- Gateway Address — #gatewayip#
Send an Email
- Day of Week - #daysofweek#
- Gateway Address — #gatewayip#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> System Settings Changed
Show a Notification
- Day of Week - #daysofweek#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> New Version Available
Show a Notification
- Day of Week - #daysofweek#
- Version — #version#
- Description — #description#
Send an Email
- Day of Week - #daysofweek#
- Version — #version#
- Description — #description#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> License Expiration
Show a Notification
- Day of Week - #daysofweek#
- Days Left — #daysleft#
Send an Email
- Day of Week - #daysofweek#
- Days Left — #daysleft#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Add-on Expiration
Show a Notification
- Day of Week - #daysofweek#
- Days Left — #daysleft#
- Add-on Name — #licensefor#
Send an Email
- Day of Week - #daysofweek#
- Days Left — #daysleft#
- Add-on Name — #licensefor#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Maintenance and Support Reminder
Show a Notification
- Day of Week - #daysofweek#
- Days Left — #daysleft#
Send an Email
- Day of Week - #daysofweek#
- Days Left — #daysleft#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Disk Availability
Show a Notification
- Disk Drive — #diskdrive#
- Disk Usage (GB) — #diskspaceused#
- Disk Usage (%) — #diskspaceusedpercent#
- Free Disk Space (GB) — #diskspacefree#
- Free Disk Space (%) — #diskspacefreepercent#
- Disk Space Allowed — #diskspacegbmax#
- Server Name — #servername#
Send an Email
- Disk Drive — #diskdrive#
- Disk Usage (GB) — #diskspaceused#
- Disk Usage (%) — #diskspaceusedpercent#
- Free Disk Space (GB) — #diskspacefree#
- Free Disk Space (%) — #diskspacefreepercent#
- Disk Space Allowed — #diskspacegbmax#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Certificate Expiring
Show a Notification
- Path — #path#
- Expires On — #expires#
- Days until Expires — #daysuntilexpires#
- Certificate Auto-Renewal — #automatedrenewal#
Send an Email
- Path — #path#
- Expires On — #expires#
- Days until Expires — #daysuntilexpires#
- Certificate Auto-Renewal — #automatedrenewal#
Command Line Action
No variables present.
Send Webhook
No variables present.
System -> Certificate Renewal Rejection
Show a Notification
- Path — #path#
- Hostname — #hostname#
- Expires On — #expires#
- Days until Expires — #daysuntilexpires#
- Reason — #reason#
Send an Email
- Path — #path#
- Hostname — #hostname#
- Expires On — #expires#
- Days until Expires — #daysuntilexpires#
- Reason — #reason#
Command Line Action
No variables present.
Send Webhook
No variables present.
Security -> IDS Rule Triggered
Show a Notification
- Day of Week - #daysofweek#
- Rule Type — #ruletype#
- IP Address — #ipaddress#
- Rule Description — #rulename#
Send an Email
- Day of Week - #daysofweek#
- Rule Type — #ruletype#
- IP Address — #ipaddress#
- Rule Description — #rulename#
Command Line Action
No variables present.
Send Webhook
No variables present.
Security -> SpamAssassin Failure
Show a Notification
- Day of Week - #daysofweek#
- SpamAssassin IP — #spamassassinip#
- SpamAssassin Port — #spamassassinport#
- (SpamAssassin) Name — #spamassassinname#
- Consecutive Failures — #consecutivefailures#
- File Name — #filename#
- File Size (KB) — #filesize#
Send an Email
- Day of Week - #daysofweek#
- SpamAssassin IP — #spamassassinip#
- SpamAssassin Port — #spamassassinport#
- (SpamAssassin) Name — #spamassassinname#
- Consecutive Failures — #consecutivefailures#
- File Name — #filename#
- File Size (KB) — #filesize#
Command Line Action
No variables present.
Send Webhook
No variables present.
Security -> ClamAV Failure
Show a Notification
- Day of Week - #daysofweek#
- ClamAV IP — #clamip#
- ClamAV Port — #clamport#
- Consecutive Failures — #consecutivefailures#
- File Name — #filename#
- File Size (KB) — #filesize#
Send an Email
- Day of Week - #daysofweek#
- ClamAV IP — #clamip#
- ClamAV Port — #clamport#
- Consecutive Failures — #consecutivefailures#
- File Name — #filename#
- File Size (KB) — #filesize#
Command Line Action
No variables present.
Send Webhook
No variables present.
Security -> Virus Found
Show a Notification
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Subject — #emailsubject#
- File Name — #filename#
- Detected By — #detectedby#
Send an Email
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Subject — #emailsubject#
- File Name — #filename#
- Detected By — #detectedby#
Command Line Action
No variables present.
Send Webhook
No variables present.
Security -> Outbound Message Blocked
Show a Notification
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Subject — #emailsubject#
- Spam Weight — #weight#
- File Name — #filename#
Send an Email
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Subject — #emailsubject#
- Spam Weight — #weight#
- File Name — #filename#
Command Line Action
No variables present.
Send Webhook
No variables present.
Domain -> Domain Added
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Domains Used —#domaincount#
- Domains User (%) — #domainpercent#
- Domain Max — #domainmax#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Domains Used —#domaincount#
- Domains User (%) — #domainpercent#
- Domain Max — #domainmax#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
Domain -> Domain Deleted
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Domains Used —#domaincount#
- Domains User (%) — #domainpercent#
- Domain Max — #domainmax#
- Server Name — #servername#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Domains Used —#domaincount#
- Domains User (%) — #domainpercent#
- Domain Max — #domainmax#
- Server Name — #servername#
Command Line Action
No variables present.
Send Webhook
No variables present.
Domain -> Domain Disk Space Used
Show a Notification
- Day of Week - #daysofweek#
- Domain Usage (MB) — #domainusagemb#
- Domain Usage (%) — #domainusagepercent#
- Domain — #domain#
- Primary Domain Admin — #primarydomainadmin#
- All Domain Admins — #alldomainadmins#
- Max Domain Size — #domainsizemax#
Send an Email
- Day of Week - #daysofweek#
- Domain Usage (MB) — #domainusagemb#
- Domain Usage (%) — #domainusagepercent#
- Domain — #domain#
- Primary Domain Admin — #primarydomainadmin#
- All Domain Admins — #alldomainadmins#
- Max Domain Size — #domainsizemax#
Command Line Action
No variables present.
Send Webhook
No variables present.
User -> User Added
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
Command Line Action
No variables present.
Send Webhook
No variables present.
User -> User Deleted
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
Command Line Action
No variables present.
Send Webhook
No variables present.
User -> User Changed Password
Show a Notification
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
- Password — #password#
Send an Email
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
- Password — #password#
Command Line Action
No variables present.
Send Webhook
No variables present.
User -> User Changed Forward
Show a Notification
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
- Forwarding Address — #forwardingaddresses#
Send an Email
- Domain — #domain#
- Username — #username#
- Full Name — #fullname#
- Forwarding Address — #forwardingaddresses#
Command Line Action
No variables present.
Send Webhook
No variables present.
User -> User Disk Space Used
Show a Notification
- Day of Week - #daysofweek#
- Mailbox Usage (MB) — #mailboxusagemb#
- Mailbox Usage (%) — #mailboxusagepercent#
- Domain — #domain#
- Email Address — #emailaddress#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Mailbox Allowed Size (MB) — #mailboxsizemax#
- Username — #username#
Send an Email
- Day of Week - #daysofweek#
- Mailbox Usage (MB) — #mailboxusagemb#
- Mailbox Usage (%) — #mailboxusagepercent#
- Domain — #domain#
- Email Address — #emailaddress#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Mailbox Allowed Size (MB) — #mailboxsizemax#
- Username — #username#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Mailing List Added
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Message Sent to Mailing List
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
- From Address — #emailfrom#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
- From Address — #emailfrom#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Mailing List Deleted
Show a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- List Name — #listname#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Mailing List Bounce Removal
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Mailing List Subscribe
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
- Subscribe Method — #subscribemethod#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
- Subscribe Method — #subscribemethod#
Command Line Action
No variables present.
Send Webhook
No variables present.
Mailing List -> Mailing List Unsubscribe
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
- Unsubscribe Method — #unsubscribemethod#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Mailing List Address — #mailinglistaddress#
- Email Address — #emailaddress#
- Unsubscribe Method — #unsubscribemethod#
Command Line Action
No variables present.
Send Webhook
No variables present.
Alias -> Alias Added
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Alias Addresses — #aliasaddresses#
- Alias Name — #aliasname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Alias Addresses — #aliasaddresses#
- Alias Name — #aliasname#
Command Line Action
No variables present.
Send Webhook
No variables present.
Alias -> Alias Deleted
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Alias Addresses — #aliasaddresses#
- Alias Name — #aliasname#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Alias Addresses — #aliasaddresses#
- Alias Name — #aliasname#
Command Line Action
No variables present.
Send Webhook
No variables present.
Throttling -> User Throttled
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- From Address — #emailfrom#
- Hard Reject — #hardreject#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Throttle Limit Type — #throttlelimittype#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- From Address — #emailfrom#
- Hard Reject — #hardreject#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Throttle Limit Type — #throttlelimittype#
Command Line Action
No variables present.
Throttling -> Domain Throttled
Send a Notification
- Day of Week - #daysofweek#
- Domain — #domain#
- Hard Reject — #hardreject#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Throttle Limit Type — #throttlelimittype#
Send an Email
- Day of Week - #daysofweek#
- Domain — #domain#
- Hard Reject — #hardreject#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Throttle Limit Type — #throttlelimittype#
Command Line Action
No variables present.
Send Webhook
No variables present.
Email -> Bounce Received
Send a Notification
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Domain — #domain#
- Bound Reason — #bouncereason#
- Bound Code — #bouncecode#
- SMTP Response — #smtpresonse#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Return Path — #returnpath#
- Subject — #emailsubject#
Send an Email
- Day of Week - #daysofweek#
- From Address — #emailfrom#
- To Address — #toaddress#
- Domain — #domain#
- Bound Reason — #bouncereason#
- Bound Code — #bouncecode#
- SMTP Response — #smtpresonse#
- Primary Domain Administrator — #primarydomainadmin#
- All Domain Administrators — #alldomainadmins#
- Return Path — #returnpath#
- Subject — #emailsubject#
Command Line Action
No variables present.
Send Webhook
No variables present.
Email -> Message Received
Show a Notification
- Day of Week - #daysofweek#
- To Address — #toaddress#
- To Domain — #todomain#
- From Address — #emailfrom#
- From Domain — #fromdomain#
- Subject — #emailsubject#
- Size (KB) — #sizekb#
- Intra Domain — #intradomain#
- Spam Level — #spamlevel#
- Messages an Hour — #amtinhour#
Send an Email
- Day of Week - #daysofweek#
- To Address — #toaddress#
- To Domain — #todomain#
- From Address — #emailfrom#
- From Domain — #fromdomain#
- Subject — #emailsubject#
- Size (KB) — #sizekb#
- Intra Domain — #intradomain#
- Spam Level — #spamlevel#
- Messages an Hour — #amtinhour#
Add a Recipient
No variables present.
Send Webhook
No variables present.
Email -> Message Sent
Show a Notification
- Day of Week - #daysofweek#
- To Address — #toaddress#
- To Domain — #todomain#
- From Address — #emailfrom#
- From Domain — #fromdomain#
- Subject — #emailsubject#
- Intra Domain — #intradomain#
- Size (KB) — #sizekb#
Send an Email
- Day of Week - #daysofweek#
- To Address — #toaddress#
- To Domain — #todomain#
- From Address — #emailfrom#
- From Domain — #fromdomain#
- Subject — #emailsubject#
- Intra Domain — #intradomain#
- Size (KB) — #sizekb#
Command Line Action
No variables present.
Add a Trusted Sender
No variables present.
Add Recipient
No variables present.
Send Webhook
No variables present.
Collaboration -> Calendar Reminder Occurred
Show a Notification
- Day of Week - #daysofweek#
- Subject — #emailsubject#
- Location — #location#
- Description — #description#
- Domain — #domain#
- Email Address — #emailaddress#
Send an Email
- Day of Week - #daysofweek#
- Subject — #emailsubject#
- Location — #location#
- Description — #description#
- Domain — #domain#
- Email Address — #emailaddress#
Command Line Action
No variables present.
Collaboration -> Task Reminder Occurred
Show a Notification
- Day of Week - #daysofweek#
- Subject — #emailsubject#
- Description — #description#
- Priority — #priority#
- Percent Complete — #percentcomplete#
- Status — #status#
- Domain — #domain#
- Email Address — #emailaddress#
Send an Email
- Day of Week - #daysofweek#
- Subject — #emailsubject#
- Description — #description#
- Priority — #priority#
- Percent Complete — #percentcomplete#
- Status — #status#
- Domain — #domain#
- Email Address — #emailaddress#
Command Line Action
No variables present.