Inbox

by Glenn Delahoy
(C) Copyright 2004-2005. All rights reserved.

SECTION DESCRIPTIONS

The Outlook style control on the left divides the program into two main sections: Mail and Tools. The Mail section contains your downloaded email for each account, the Tools section contains various tools, logging and other bits and pieces, the Options section contains account configuration, filters and application preferences.

The first thing you need to do is enter your uplink accounts. Open the Tools section and select Accounts.

Accounts

This is a list of all of your email accounts. To enter an account, click the Add button, enter the account details and switch on the Active box. You can temporarily disable an account by switching off the Active box, either on the list or on the details section. Don't forget to click the Apply button after making changes to each account.

Account Name The account name, can be anything you choose. This is used as a login name for the POP3 server and also the name of the mail folders for this account. The login password for the account is taken from the uplink password.
Email Address The actual email address associated with the account. This is primarily used to match against the To field when filtering messages.
   
Fetch
Enable Fetch Enable or disable mail fetching for this account.
No Download Enable or disable downloading mail for this account. With No Download set, all you can do is filter on the message headers.
Don't Download Duplicates If downloading is enabled then dupe checking is performed to ensure you don't download the same emails over and over.
Don't Delete From Server If downloading is enabled then this option leaves accepted and quarantined emails on the server so you end up with a copy of each email in Inbox. Any mail that positively matches a reject filter is always deleted from the server.
Pop Server Either a FQDN (eg pop.iprimus.com.au) or IP of the uplink mail server for this account.
Login Name Your email account name used to login to the uplink server.
Password Your email account password used to login to the uplink server and also used as the login password for the POP3 server. Only enter something here if you want to change the password. Leave it blank to keep any existing password. The password is encrypted in the Inbox.ini file and there is no way of retrieving it.
   
Redirect
Enable Redirect Enable or disable redirection for this account. For more information, see the Redirection Scenarios section.
Name Redirection Looks for an Inbox account that matches the To Name field of the email and redirects email to that account. For example, an email is marked "To: glenn <support@delahoy.com>". The email arrives at the "support" account and is then redirected to the "glenn" account.
Include Quarantined Normally only email in each account's inbox folder is a target for redirection. This switch will include quarantined mail as well.
Delete After Sending When an email has been sent to all redirection targets, the original is then removed.
Redirect To Address This is a list of email addresses to which email will be redirected. These can be internal Inbox accounts or any external email address.
   
Send
Enable Send Enable or disable outbound mail from being sent. Mail will continue to be queued for delivery but will not be sent. For more information see the Notes and Tips section.
Send Direct Controls how outbound mail is sent. If Send Direct is switched on, Inbox will attempt to locate the mail exchange for the destination domain and send mail directly to it. This requires you to provide a DNS server in the preferences. If Send Direct is switched off, all outbound mail for this account is relayed through the host entered in the Smtp Server field.
Smtp Server This host is used to send mail when Send Direct is switched off. This is normally your ISP mail server.
Login Name Name required to connect to the Smtp server.
Password Password required to connect to the Smtp server.
   
Mailbot
Enable Mailbot Enable mailbot functions for this account. For more information see the Notes and Tips section.
Mailbots (Add/Delete) Select from existing mailbots, add a new mailbot or remove an existing mailbot.
Subject Modify the subject line for the currently selected mailbot.
Text Add or modify the text part of the mailbot reply.
Attachments (Add/Delete) Add, remove or modify attachments to be included in the mailbot reply.
   
Away
Enable Away Enable the away tool. When switched on, Inbox will automatically send a response to emails received by this account.
Response Text Set the text to be included in the automatic response.
   
Filters
Enable Filters Enable or disable email filtering for this account.
Reject msgs over x KB in size Reject large messages. Zero disables this check.
Reject msgs from me A common ploy at the moment is to mark messages as coming from the person to which it is addressed. This filter will reject messages that appear to come from that account.

Filters

This is a list of filters used to control your incoming email. To enter a filter, click the Add button, enter the filter details and switch on the Active box. You can temporarily disable a filter by switching off the Active box, either on the list or on the details section.

Description Any descriptive phrase that means something to you. When Inbox adds filters it puts the search string in the description.
Type Accept means you want emails that match this filter to be moved to the inbox folder ready for download by your email client. Reject means delete or trash emails that match this filter.
Message Section The section of the message to look for a match. From, To and Subject are the fields normally displayed by your email program. In the case of commercial email these are most likely fictional. Received and Reply To refer to email headers not normally shown by your email program. Received indicates the actual machine that delivered the message to your uplink and/or any intermediate machines along the way. Body is the text of the message displayed by your mail program. Header Present means the mere presence of a header gives a match. Present In Any Header means look for a match in any header.
Search String This is the sequence of characters to search for in the indicated message section. It is not case sensitive. For attachments this can be any wildcard file spec. For subject headers, Inbox removes non letter characters before comparing. So for example a search string of 'viagra' will find things like 'v(iagra', 'Vi..agr@a' etc. For body searches, Inbox may scan the text twice: the first is a verbatim search, the second, if Ignore HTML Tags is switched on in the preferences, it strips out all html-like tags before searching again. This finds recognisable text in otherwise sneakily html encoded gobbledigook. The Received IP filter is a special filter that looks at IP addresses in the Received header.
Active Activate or disable the selected filter.

Each email is first run through every Accept filter then through every Reject filter and stops after the first match.

While connected to an uplink account, messages that match an Accept filter are downloaded and stored in the inbox folder, messages that match a Reject filter are deleted from the server, messages that don't match any filter are downloaded and stored in the quarantine folder.

If the filters are run while not connected to an uplink account, messages may be moved between the three folders depending on the outcome of filter matching. Messages that match an Accept filter are moved to the inbox folder, messages that match a Reject filter are sent to the trash folder, messages that don't match any filter are sent to the quarantine folder.

If you set the No Download account option, emails that get a positive match on a Reject filter are always deleted from the server, other emails are untouched.

When you're browsing your email in Inbox, there are a number of options to quickly create filters from the selected email. These will also appear in this list.

The filter list also displays the number of times each filter has been used. Use this to help you decide which filters are no longer required.

Filter Options

You can share your filters with other users of Inbox by using the export and import tools. The filters are exported to a standard comma delimited text file.

The Sort tool sorts the list in ascending order on the description column.

The Merge tool looks for similar filters in all sections, merges the two and deletes the old one. For example, it may find two filters which reject an IP in the Received header. The first has a search string of "10.124.224.66", the second has a search string of "10.124.224.". The first is obviously redundant so its count is added to the second and then deleted. Another example is two filters with subject search strings of "mortgage" and "mortgage application". The second is already covered by the first and so can be merged and removed.

The IP lookup tool will do a reverse DNS lookup on the selected filter in which the search string contains a valid IP address. This is useful for discovering the host name and geographical location of an IP which can in turn be used for additional filters or adding to the Unwanted Top Level Domains filter. Note that this does not always return useful information, it depends on the age of the IP and whether it still exists in a DNS server somewhere.

Mail Folders

The Inbox, Quarantine, Trash and Queue folders all contain email messages. See below for a description of each. When you select an email on the list, the entire message, including headers, is displayed in the Message Text area. All of these folders contain the following three buttons:

Accept Create an Accept filter based on the selected email and criteria.
Reject Create a Reject filter based on the selected email and criteria.
Move Move the selected email/s to another message folder or delete from the Trash folder.

There is also a button above the message text which will strip all html like tags from the message text. This makes it easy to spot suspicious text in the message, highlight it and create a filter. To see the original message again just reselect the message in the list.

The Accept and Reject buttons pop up a menu allowing you to select the message section and search string. Some of these options automatically select the appropriate text from the message, others require you to select a portion of text for the search string, some work either way. The Move button pops up a menu to select the target folder. The top three options refer to folders in the currently selected account, the remaining options allow you to select a folder in another account. In the Trash folder, you can delete messages.

Keep in mind that Inbox never deletes messages stored in its own folders. Messages that meet a Reject filter are moved to the Trash folder. You can then delete messages from the Trash folder. This allows you to catch false positives.

Inbox Folder

This folder contains all messages waiting to be collected by your email client program. If you have filtering enabled, all messages that get a positive match on an Accept filter are placed here. If filtering is disabled, all messages will be placed here. If you are not downloading messages, this folder is not used.

Quarantine Folder

This folder contains all messages that do not match any filters and require you to create a filter that will either accept or reject them. If you are not downloading messages, this folder is not used.

Trash Folder

This folder contains all messages that get a positive match from a Reject filter. You can create an Accept filter for any messages in this folder. For example, it may have been trashed because it came from a rejected domain, however you may wish to received emails from a particular person in that domain so you can create an "allow address" filter that makes an exception to the rejected domain rule. If you are not downloading messages, this folder is not used. Messages deleted from this folder are gone forever.

Queue Folder

This folder contains all messages waiting to be sent out including away messages, mailing list messages and redirected messages.

Peek

This tool allows you to peek at messages on a server before downloading them. Select an account and click the Connect button. Any waiting messages are then displayed. Select any message on the list to see the message headers. The Peek tool will initially only download the message headers. To see the entire contents of the message click the Get Message Body button. The entire message is then downloaded and displayed. The Accept and Reject buttons perform the same functions as in the Inbox message folders noted earlier. The Delete button will actually delete the message from the server. Click the Disconn button to disconnect from the server.

Note that when you're connected to a server using the Peek tool, that mailbox is 'locked' and the Regular Fetch or Proxy fetch may produce errors if it attempts to connect to the same account while the Peek tool is connected.

Outlook

This tool allows you to peek at messages in your Outlook message store. Click the Folder button to select an Outlook folder, the message list will then be filled with the messages from that folder. The Accept and Reject buttons each perform the same functions as noted earlier. The Move button provides the same tools as the Move button in the regular Inbox message folders. The Delete option will actually delete the selected messages from Outlook. Once you're connected to Outlook, the Filter service may also filter messages for the currently selected folder (if enabled in the Preferences). Any messages that match a Reject filter will be deleted from Outlook, all other messages remain.

You need to have Outlook set as your default email program in Windows for this to work properly. On my Win2k box this is set in Control Panel -> Internet Options -> Programs. This has only been tested on Outlook 2000, I don't know if it works on other versions. Note also that Inbox displays the Internet headers for the mail rather than the Outlook (or Exchange) headers.

Log

The Log page has several views:

Log Shows inbound, outbound and filter activity starting from most recent. You can control the activities that are logged and the size of the log from the Preferences.
Daily Shows daily totals for each type of log activity for each day present in the log.
Accounts Shows totals for each account for each type of activity.
Filters Shows the total hits for each filter. The hit count is also displayed on the filter setup screen.
Status Shows assorted internal status information from the fetch service, filter service and pop server. You can control the level of status logging from the Preferences.

Charts

Displays various charts derived from the activity log. The pie chart shows the filter totals, the line chart shows the filter daily summary and the area chart shows the relative hit rate of rejected versus trashed messages. This gives an idea of the efficiency of the filters where the ideal is 100% rejected and 0% trashed. The efficiency line is an aggregate average over the time of the activity log. The pie chart and line chart have buttons on the right hand side for switching on and off the various series. Double click a chart to enlarge it and double click again to reduce it.

Preferences

Using the preferences you can configure Inbox to work in a variety of ways. Don't forget to click the Apply button when you're finished making changes. Only when the changes are applied are they saved and take effect.

Services - POP3 Server  
Enable POP Server Enables or disables the Inbox POP3 server. With the POP3 server enabled you can direct your email client to download email from Inbox. Email is downloaded from the Inbox folder of each account.
Bind IP Address This tells Inbox which network interface on your computer to connect the POP3 server to. The default setting is 127.0.0.1 (also known as "localhost") which means only applications on the same computer can connect to it. If you're connected to a local area network and wish others on your network to avail themselves of Inbox then specify your local area network IP address. Check your local area connection details or type "ipconfig" in a DOS box. Try not to bind to a public network connection (i.e. internet) lest people you don't know start downloading your email.
Bind Port This tells Inbox to which port on your computer to bind connect the POP3 server. The default setting is 110. You can set this to any port you want from 1-65535. To reduce the possibility of conflict with other programs, choose a port number above 1024. If you have trouble connecting try a different port.
Enable Proxy This tells Inbox to immediately fetch mail from the uplink account when a successful connection is made to the Inbox POP3 server. You can run this in conjunction with or instead of the Regular Fetches. When your email program connects to the POP3 server to collect mail you'll notice a pause while Inbox fetches mail from that account's uplink.
   
Services - Fetch
Enable Regular Fetches Enables or disables the automatic timed connection to your uplink accounts, either for downloading or filtering messages. With Regular Fetches switched off, Inbox will only fetch mail if you click the Get Mail button on the main toolbar or if you have the Proxy enabled and your email program connects to the Inbox POP3 server.
Fetch Interval The interval in seconds between the end of the last regular fetch and the start of the next.
   
Filters - Options
Enable Filters Enables or disables the filter service. When filtering is enabled and downloading is enabled, all positive Accept matches are sent to the Inbox folder and anything else is sent to the Quarantine folder. With filtering enabled and downloading disabled only positive Reject matches are deleted from the server. With filtering disabled, filtering will only occur when you click the filter button on the main toolbar.
Outlook Run the filters on the currently selected Outlook folder. Given that accessing Outlook can take time and that the Outlook tool may or may not work for you, this option allows you to switch the filtering on or off for Outlook.
Auto add received filters When a message matches a body reject filter, a received reject filter is automatically created for every received ip in the message. What this is saying is, I've decided this message you sent me is unwanted and I refuse to accept any further mail from you.
Ignore HTML Tags A common method for avoiding detection by message filters is to break up words using bogus HTML like tags. Html aware mail readers will try to interpret these tags but because they don't conform to any real html standard they end up just being removed. The result is the email becomes readable again. This option will cause the body of each message to be checked twice, first as it comes then again with any html like tags removed.
   
Filters - Global Filters
  The global filters are used as a last resort when an email doesn't match any other filter.
Check For Recipient Compares the email address you supply for the account to the email address supplied in both the To and CC headers of the email. If it fails to find a match the message is rejected.
Check For Old Dates Compares the message date against today. If the message date is over 5 years old, the message is rejected.
   
Filters - Unwanted Top Level Domains
Enabled Enable or disable the check for top level domains. This global filter checks the Return-Path, Message-ID, From and Reply-To headers for unwanted top level domains. See the discussion in the Notes And Tips section for more information.
Top level domain list In the list, tick the top level domains from which you do not want to receive mail.
Enable reverse dns lookup Perform a reverse dns lookup on the originating Received ip address to retrieve the host name and/or name server. The results are then passed through the unwanted top level domains filter. If a match is found, a Received reject filter for that ip address is created. The idea here is if Inbox can't figure out the originating domain from any of the above headers it will do a lookup on the originating IP to get a domain name that way.
Reverse DNS host Enter a suitable root server as the reverse dns host and the connection timeout value in seconds.
   
Log File
Description Controls the content of the activity log file. Switch each of the activity options on or off to control whether that activity is logged.
Trim Log File This keeps a check on the size of the log file by removing entries older than the specified number of days. The various log and filter summaries and charts get their information from this log.
   
Status History
Description Controls the content of the status history display. This log is stored only in memory and is lost when the program shuts down.
Status History Size Controls the size of the status history in memory.
   
Misc
Opening Page Sets the initial page when Inbox starts.
Start Minimised Controls whether Inbox will start normally or minimised to the system tray. Switch it on to start Inbox already minimised to the system tray.
Outbound DNS Host When outbound mail is being sent directly to the destination, the DNS host is used to resolve the mail exchange for that domain. This is normally the DNS server of your ISP assigned when you connect to the internet.