These directions are written to use Mozilla Thunderbird. These are generic instructions, written for a fictional company "XYZ", who owns the domain name "domain.xyz", and hosts their email on my "secure.jms1.net" server.
If Thunderbird is not already installed...
Download it from http://www.mozilla.com/en/thunderbird/.
Run the installer. When it ends, it will ask whether or not to start Thunderbird. You can if you like- if you don't, the next step is just going to be to run it anyway.
Run Thunderbird.
The first time you run it, it will try to walk through an automatic "transfer settings" procedure. When this happens (i.e. when it asks about importing settings from other programs, press Cancel.
Pull down the "Tools" menu and choose "Account Settings".
Click the Add Account... button at the lower left.
Choose "Email account" from the list.
Click Next >.
For "Your Name", enter your name as you want it to appear on your outgoing email messages.
For "Email Address", enter your full email address, ending with "@domain.xyz".
Click Next >.
The server type is "IMAP".
The "Incoming Server" is "secure.jms1.net".
The "Outgoing Server" is "secure.jms1.net".
Click Next >.
The "Incoming User Name" is your full email address, ending with "@domain.xyz".
Click Next >.
The "Account Name" is just a description for this account. It shows up in the folder viewer on the left side of the main window, as the name of the folder which contains everything relating to this email account. You can use whatever you like, it never gets sent to the server or anything. The only requirement is that if you configure Thunderbird to access multiple accounts, no other accounts can have the same name. I prefer to use short names, so "XYZ" might be a good choice for this.
Click Next >.
The next window shows you most of the settings you have just entered, and says that you are finished. However, it did not ask about the security-related settings, so we will still need to go back into the new account's settings and fix a few things.
Click Finish.
Find the new account in the panel on the left (above the "Add Account..." button.) Below the new account, click "Server Settings". You should see the right side of the window change to the "Server Settings" information.
Under "Security Settings", click the "SSL" selection. When you do this, you should see the "Port" field (above) change from 143 to 993 automatically. (If it doesn't change, make sure you have selected SSL and then change it to 993 by hand.)
There are other settings on this panel which you may wish to set, in particular the "Check for new messages every minutes" option.
Find the new account in the panel on the left (above the "Add Account..." button.) Below the new account, click "Composition & Addressing". You should see the right side of the window change to the "Composition & Addressing" information.
Under "Composition", PLEASE TURN OFF the "Compose messages in HTML format" option. This will cause all of your outgoing mail to be sent as plain text, which is important because:
It saves bandwidth. Sending a message as HTML requires three to five times as much space as sending the same message as plain text. Some people are still using dialup accounts or slow satellite connections, and anything you can do to help them read their email more quickly is appreciated.
Everybody can read plain text emails, but not everybody is able to read HTML email. Some people read their email using text-only email programs, or using portable devices (i.e. Treo, BlackBerry, or other "smart phone") which cannot handle HTML email.
Some people, myself included, either block HTML email entirely, or configure their email programs to not show HTML emails, for security reasons (i.e. to not allow viruses and spyware to infect my machine.) And to put it very bluntly, I don't have the patience to try and pick somebody's message out from between a bunch of HTML tags.
Click the OK button.
The last item in the panel on the left is "Outgoing Server (SMTP)". Click this. You should see the right side of the window change to the "Outgoing Server (SMTP) Settings" information.
If the list on the right has more than one item, click on the item corresponding to the new account.
Click the Edit... button on the right.
Click the "SSL" option at the bottom of the window. When you do this, you should see the "Port" number change from 25 to 465 automatically. (If the number doesn't change, change it to 465 by hand.)
Technically, it will also work if you choose the "TLS" option and use port 587. However, Thunderbird doesn't automatically choose port 587 for TLS the way it chooses 465 for SSL.
DO NOT use the "TLS, if available" or "No" settings here. The server will not allow you relay (i.e. send mail to other domains) unless you send a valid AUTH command first, and the AUTH command will not be accepted if the connection is not encrypted.
Make sure the "Use name and password" checkbox is turned ON. If not, turn it on.
The "User Name" field should already contain your full email address, ending with "@domain.xyz". If not, enter it.
You may wish to fill in the "Description" field at the top of this box, as I did here. It's not really necessary, it just makes the list of SMTP accounts look a little bit more orderly.
Click the OK button.
At this point, all of the necessary settings should be correct. You should be able to hit the OK button at the bottom of the window and return to Thunderbird's main screen.
When you get back to the main screen, in the panel on the left side of the window you should see the new account you just created, along with the "Local Folders" item.
If you turned on the "Check for new messages every minutes" option, Thunderbird will start checking your mailbox every few minutes (whatever you set it to.) If not, you can click the "Get Mail" button at the top of the screen to make Thunderbird check your incoming mail now.
The first time you check the mail, you will be asked for the password. You should enter it.
You will also see the "Use Password Manager to remember this password" checkbox. Thunderbird's "password manager" is like a repository of stored passwords for different mailboxes. If you choose to use it, you will need to set a "master password" which protects all of the others, and enter that master password every time you run Thunderbird. Otherwise, you'll have to enter the mailbox password every time you run Thunderbird.
Personally, I have five different mailboxes, so it makes sense for me to enter just the one master password instead of entering the passwords for all five mailboxes individually.
After Thunderbird has checked the mail in your mailbox for the first time, it will show you any folders which may exist on the server. The webmail interface automatically creates folders called "Drafts", "Sent", and "Trash" on the server. You can also create your own folders for storing messages- the one restriction is that they must be created as "children" of the Inbox folder, rather than "siblings" of the Inbox folder.
You can create folders as children of the "Inbox" folder in the new account. Those folders are physically stored on the mail server, which means they will be accessible through any other IMAP client, including the webmail interface. The contents of these folders will also be backed up on a regular basis.
You can also create folders as children of the "Local Folders" item. However, those folders are physically stored on your hard drive and will not be accessible from any computer other than the machine where you're running Thunderbird. In addition, many corporate networks don't back up the contents of local machines (if your corporate IT people have told you to make sure to store your work "on the server", "on the network", or on a specific drive, this is probably the case) so doing this may result in your stored items not being backed up anywhere, which means that if something happens to your desktop computer, anything in those folders will be gone.
And before you ask, YES, the contents of my mail server are backed up every four hours- which means if my server crashes, I have a copy of all of the mailboxes which is no more than four hours old, ready to be restored when/if needed.