Inbox
by Glenn Delahoy
(C) Copyright 2004-2005. All rights reserved.
NOTES AND TIPS
To Proxy or not to Proxy
If you always have your email client running then using the proxy method is best. This allows your client to control the timing of mail collection. If you prefer to shut down your client while you're working you can leave Inbox running in the system tray with Regular Fetches enabled so it silently retrieves your mail which is then ready for you to collect when you open your email client. You can have both enabled so that mail is collected at regular intervals and again when your client connects. You can have neither enabled so that mail is only collected when you hit the Get Mail button.
Outlook
The Outlook tool has only been tested on Outlook 2000. I don't know if it works on other versions. You need to have Outlook set as your default email program in Windows. See the Outlook section earlier for more details. Use at your own risk. Any feedback on this is appreciated.
Unwanted Mail
I've found by far the best method for identifying unwanted mail is the Received header. It's not likely to be forged because it's added by the receiving machine, not the sender and identifies the machine that sent the mail. Sometimes you'll find several Received headers. This indicates the mail has visited several mail servers before arriving at your uplink. In the case of unwanted mail this usually means the original sender has made use of an open relay server in an attempt to disguise the origin of the mail. When a machine receives an email it adds a Received header at the top of the mail. This means that they're listed in reverse order with the most recent link in the chain first then working backwards to the originator. To identify the originator of the mail then you need to read through the headers to find the last (earliest) Received header. When you select an email in the list and choose to create a Reject filter using the Received header, Inbox automatically identifies the most recent one as the default. If there is more than one you can highlight the IPs or domains from the subsequent headers and create additional Reject filters to catch both the originator and any relays along the way. You can also select the All Received IPs option to create Reject filters for all IPs found in the email.
The Filters list has a sort tool. Use this to look for patterns and similar filters which you may be able merge together. For example, if you find a lot of unwanted mail coming from a particular subnet, you can filter the whole subnet. I found a lot of mail coming from subnet 209.50.54.* so instead of adding separate filters for each ip in the subnet, I have a single filter searching for "209.50.54." which catches all 254 addresses in that range. Note the trailing dot to ensure the proper subnet is caught rather that any address containing these numbers.
Received IP Filter
This filter is special in that it is able to deal specifically with IP addresses. This is not to be confused with the Received filter which matches any string in any Received header, the Received IP filter looks at IP addresses in any Received header. Inbox can perform wildcard matches with IP addresses allowing you a great deal of flexibility in filtering. For example, if you wanted to filter a certain IP (eg 192.168.1.1), you could add a Received filter with the IP address. You could also add a Received IP filter and the two would work exactly the same way. If you wanted to filter a subnet, you would add the first part of the string as a Received filter (eg 192.168.1.) or a masked IP as a Received IP filter (eg 192.168.1.255). So far they both work pretty much the same.
When we go to the next level is where the Received filter stops working as expected. Now we want to make a filter that catches a whole class of network (192.168.255.255). If we were to make a Received filter containing the "192.168." part it would match anywhere in the Received header (remember it's a character match) and maybe find something like "200.192.168.20". The Received IP filter, however, knows how to match IPs so we can make a filter with the correct masked IP (eg 192.168.255.255).
The 255 means match any number in that position. It's a wild card. In fact you can even use 192.168.*.* instead if you prefer or even abbreviate it to 192.168.* and let Inbox figure it out. In theory, you can make a filter mask like 192.255.1.1 but I can't think of why you would do that.
The merge tool in the filters pays special attention to Received IP filters. If it finds two IP filters that have a common subnet it will propose a merge where the new filter will catch the whole subnet. For example, using the default of level 3 merging, an IP filter of 192.168.1.1 and an IP filter of 192.168.1.2 will be merged to a new filter of 192.168.1.*. Using level 2 merging, the two aforementioned IP filters will be merged to a new filter of 192.168.*. Using level 1 merging they'll be merged to a new filter of 192.*. Level 4 merging is actually no IP merging at all.
Unwanted Top Level Domains
This filter is useful for targeting unwanted mail from specific geographic locations. A top level domain is the last part of a URL or email address. For example, the address "delahoy.com" has a top level domain of ".com". The email address of "me@myplace.net.au" has a top level domain of ".au". In general terms, it can identify the location of the address. ".au" is Australia, ".uk" is United Kingdom. Not every top level domain describes a location. For example, ".com" is used by everyone to indicate a commercial site and ".net" is used by everyone to indicate a private network site.
In any case, the top level domain can often be used to identify unwanted mail. Inbox does this by examining four email headers: Return-Path, Message-ID, From and Reply-To. Each of these contains an email address. As is the case with most unwanted mail, they are most likely fictional but may be useful enough for the job. If any of these four headers contain an address with an unwanted top level domain, the mail is rejected.
As a last resort, if Inbox is unable to find a match with any filter it can attempt to obtain a top level domain using a reverse dns lookup on the originating ip address (the first one listed chronologically, the last one listed in the email headers). Basically, what happens is the dns host is contacted and asked to provide information about the given IP address. If the host in question has no information it may suggest another dns host to try. This process continues until either someone provides information about the ip or there are no more dns hosts to ask. It can be time consuming and may provide no definitive information. If the lookup succeeds, the information can be used with the Unwanted Top Level Domains filter which, if it finds a match, will in turn create a Received reject filter. This means for a given ip, a dns lookup is performed only once. The resulting reject filter will subsequently be used to filter mail for the ip.
You can filter top level domains without performing a dns lookup by switching off the reverse dns lookup checkbox.
You can add additional top level domains to Inbox by editing the "tld.txt" file with Notepad or other suitable text editor. The format is straight forward: one line for each top level domain, the first word is the tld code, followed by a space then any useful description, location or country name. You'll need to restart Inbox for the changes to be picked up.
Merging Accounts
Inbox uses the Account Name field in each account to identify the base folder in which that account's emails are stored. If you change this field the base folder is renamed. This field is also used as the login name by the internal POP3 server. The login password is taken from the uplink password field. To collect mail from this account in Inbox, you need to set your email client to connect to the Inbox POP3 server, the login name is the Account Name set in Inbox and the password is the same as your uplink. Normally you want mail from each account to be stored in it's own folder but you can get it to store mail from multiple accounts in the same folder by making the account name the same. Your email client will then have a single account with the login set to the first Inbox account name and password. In this way you can collect mail from multiple accounts into a single inbox in your mail client. For more information see the Configuration Scenarios section.
Taking Out The Trash
Inbox will never delete messages from the Trash folders. This gives you the opportunity to review the results of new filters and make any required adjustments. When you're ready to take out the trash just block select the messages and select Move then Delete.
Outbound Mail
Inbox doesn't have a tool for writing mail but there are various tools which generate mail (e.g. the Away tool, the Redirection tool etc). For this reason, a Queue is employed by each account to contain and deliver outbound mail. When outbound mail is added to any account's queue, Inbox will attempt to deliver it immediately. If any mail can't be delivered right away (e.g. the host is down), the mail is re-added to the queue and will be tried again later. The Send options for each account control if and how queued outbound mail is sent. If mail is to be sent directly to the destination domain (as opposed to relayed through your ISP), the DNS server set in the global Preferences is used to find the mail exchange for the destination domain.
Mailbots
A mailbot is simply a way of identifying specific incoming email and automatically sending a response. This is not a spam tool, it does not send unsolicited email. In fact the exact opposite, it only sends solicited email. Someone needs to explicitly send you email requesting some information and Inbox will respond.
With Inbox you can set up any number of mailbots for each of the configured email accounts. The Subject property of a mailbot is used to identify emails to which it should respond. The subject needs to be an exact match, including case. The body of the message is ignored. The reply contains the configured text and any configured file attachments. The reply email is sent to the queue and is then subject to the rules for all outgoing mail (eg enable send, direct/routed etc).
If you have Inbox filtering enabled, the mailbots are also checked during the filter search and any matches will be accepted. In other words, you don't need to explicitly define a filter in order to allow incoming mailbot messages to be accepted.
An example mailbot use might be if you have a price list that is updated every so often. Rather than sending myriad emails to your customers, you would set up a mailbot on a given account that responds to emails with the subject of "pricelist" and point it to your price list document. Tell your regular customers that when they require the latest price list to send an email to that particular email address with the "pricelist" subject. They'll get a reply within a few minutes with the latest price list attached.
Another example might be if you're out of the office and need to obtain the latest version of a file, you can set up a mailbot to send you the file instead of using a tunnel/vpn or other device to get into your network.
Handling Duplicates
By default dupe checking is switched off on each account. You can switch it on for any account where downloading is enabled. This is mainly useful when the Don't Delete From Server option is also enabled. When the original email is left on the server, dupe checking will avoid downloading the same emails over and over. Dupe checking is also used when the No Download option is set to avoid logging the same emails as OK over and over.
Remember Desktop Location
Inbox remembers the desktop location when it shuts down and restores itself to the same location next time it starts. Sometimes, for various reasons, this results in Inbox restoring itself to a location off the display. If you can see that Inbox is running but it's not visible on the screen, shut it down and manually edit the inbox.ini file with Notepad or other text editor, modify the [display] settings, save and restart Inbox.
Since upgrading my computer, I've noticed Inbox is always starting on the primary display of my multi-display setup regardless of where it was located when it was last shut down. I believe this is due to the Matrox software but I haven't tracked it down yet. If you experience a similar problem, check out your display software settings.