Overview
GFI MailEssentials SpamTag plugin is an add-on (extension) for Microsoft Outlook that is used to manage spam emails at the client-side on instances where spam is not detected by MailEssentials or where legitimate email is incorrectly classified as spam. SpamTag can be deployed to manage such emails as it works by training GFI MailEssentials to block or allow such incorrectly flagged emails so that the false positives or negatives do not recur.
The next sections look at the various features available with this add-on as well as how it works.
Introduction
The GFI MailEssentials SpamTag plugin is an add-on for Microsoft Outlook that installs a toolbar on the end users' machines, giving some control to users for managing spam emails. The plugin also synchronizes Microsoft Outlook Junk settings with GFI MailEssentials.
The SpamTag Add-in is installed under the Home toolbar in Microsoft Outlook ribbon. Whereas the Microsoft Outlook Junk functionality enables users to manage spam emails at the client-side, the SpamTag add-in allows users to manage their spam emails at the server level.
Description
Installing the SpamTag Extension
The SpamTag Installer can be obtained from either of the following locations:
- MailEssentials installation directory at
..GFI\MailEssentials\Outlook\GFIMailEssentialsSpamTag.exe
- GFI software download portal
By running the installer as an administrator on a machine with Microsoft Outlook, the user will get an additional toolbar in his Outlook ribbon with different options enabled which can vary based on the settings configured on the MailEssentials server.
The features which can be enabled/disabled by an Administrator in the Configuration UI by navigating to GFI MailEssentials > Anti-Spam > SpamTag are shown below:
More details on the installation prerequisites and procedure are available in this linked article: Installing the SpamTag Extension
How the Extension Works
The main purpose of the SpamTag extension is to train the Bayesian filter, the Blocklist and the Whitelist by sending email information to be analyzed by the MailEssentials server. The communication between SpamTag and MailEssentials occurs over WCF (Windows Communication Foundation) makes use of HTTP (port 80) or HTTPS (443) protocols. If the communication between the plugin and the MailEssentials server is not possible, the plugin will show the buttons greyed out and will be disabled.
SpamTag is made up of 2 components:
- The SpamTag Web Service (MailEssentialsClientService) – which is installed automatically by the MailEssentials installer and runs under IIS on the MailEssentials server
- The SpamTag Outlook Add-in – which can be installed either manually or over GPO and runs under Outlook
Note: The global white list and block list functionality is only displayed for the full admins.
In the settings page you can disable or enable the SpamTag buttons and features. Some options can be disabled if its corresponding features in MailEssentials are disabled. For example, if personal whitelist is disabled, the personal whitelist checkboxes will be disabled. When saving the settings, the context value will be updated to let the SpamTag know that a change has been made.
There are two main functionalities:
- Add sender to blocklist or whitelist (works for personal and global lists)
- Train Bayesian filter by classifying email as spam or ham
The Personal Whitelist and Blocklist (same applies for the Global Whitelist / Blocklist)
One of the functions of the SpamTag Web Service is to enable adding entries to the Personal Whitelist/(Email)Blocklist by using the IP Blocklist & Whitelist modules remotely.
When service action is requested on particular email/domain, the following operation result can be returned:
- DomainIsLocal – If the domain is local, it will not be saved
- AlreadyInList – if the entry is already in the list, it will not be saved
- Success – if the entry is inserted successfully
- Error – if an error occurs
Add to SPAM/HAM functionality
The web service gives the ability to extract the SPAM and HAM Tokens using the remoting helper module remotely and the LibSpamHelper module.
At the end of the data processing, the service method can return one of the following results:
- Success – if the entry is inserted successfully
- Error – if an error occurs
Both Spam and Ham data can be submitted by the client to the server in two ways: for regular emails, the full email is sent over while for larger emails only email properties are sent over (body, subject and attachment details).
Authentication
The SpamTag client has to authenticate first before it will be allowed to communicate with MailEssentials. The available authentication options are Windows and Forms (username authentication), both over WCF. The first authentication attempt will be Windows authentication which happens automatically.
Should the Windows authentication fail (client/server not on the same domain or on the same time zone) it will fall back to Forms authentication.
The SpamTag Outlook Add-in
The SpamTag Add-in is on the client-side of the SpamTag module.
As SpamTag is an add-in hosted under MS Outlook (outlook.exe), there is no separate OS-level process for SpamTag.
The MailEssentials Outlook Add-in can provide the following functionality:
- Add email as spam for Bayesian training.
- Add email as ham for Bayesian training.
- Add email address or email domain to Personal Whitelist.
- Add email address or email domain to Personal Blocklist.
- Add email address or email domain to Global Whitelist.
- Add email address or email domain to Global Blocklist.
- Add email address as an approved Discussion.
- Add Outlook Personal Contacts to MailEssentials Personal Whitelist.
- Add Outlook Safe Senders to MailEssentials Personal Whitelist.
- Add Outlook Blocked Senders to MailEssentials Personal Blocklist.
- Move email to Junk folder.
- Move email to Inbox folder.
The Add-in also supports linking of actions meaning that one action can trigger another action automatically. The following linked actions are currently supported:
- Add email as spam for Bayesian training and Move email to Junk folder
- Add email as ham for Bayesian training and Move email to Inbox folder
The SpamTag Addin relies heavily on the Redemption library (set of COM objects) to interact with Outlook. You can read more about the library at this external article: Outlook Redemption Library
Email validity check for spam processing
The SpamTag controls on the Outlook ribbon bar dynamically get enabled or disabled according to the selection of the current item. If there is more than one item selected, SpamTag controls are disabled. When one item is selected the following checks are made:
- Selected item is a MailItem (represents a mail message).
- Sender type is SMTP.
- The sender email address is not empty.
If any of these checks fails, SpamTag will be disabled.
Currently, SpamTag supports the following Outlook versions on Windows 10 and newer:
- Outlook 2003
- Outlook 2007
- Outlook 2010
- Outlook 2013
- Outlook 2016
- Outlook 2019
A key differentiator of the SpamTag add-in is that feature availability can be controlled centrally from the MailEssentials server and the client SpamTag UI adapts according to this configuration. The features displayed in SpamTag are received from the MailEssentials server and saved as the Add-In settings. If the user is an administrator, the received features will also have the Global Antispam Lists features enabled if the respective Personal Antispam Lists are enabled. For example; if an administrator has the Personal Whitelist feature enabled, the Global Whitelist feature will be enabled.