If you are unable to send or receive emails for any reason, there are 5 main areas to look at:
Software configuration
There are 4 principle different types of email account:
There are other types which also warrant mentioning: where I have listed Exchange, there are other equally ubiquitous email products available, such as Lotus Domino or Novell Groupwise. This article will only look at Microsoft Exchange as being the most popular, but the same troubleshooting techniques apply to the other products.
POP is the Post Office Protocol, often referred to as POP3 as it is now in its third version. Using POP, emails are stored on a central server in an individual mailbox. A POP client will download any mails that are waiting in the mailbox and, once downloaded will usually then delete the mails from the server. POP is the original "remote access" mail protocol and is limited in its functionality. The user is not able to view mails until they have been downloaded to the client, and the mail will not be removed from the server until it has been fully downloaded.
POP is only a mail retrieval protocol: it cannot be used to send email; mails are sent using a different protocol - SMTP (Simple Mail Transfer Protocol).
When creating a POP email account, most email client software will require at the very least 4 pieces of information:
The software will also require other information such as your name and your email address, but it is only these 4 pieces of information that are necessary for the correct functioning of the POP account:

IMAP is the Internet Message Access Protocol (also referred to as the Internet Mail Access Protocol), and is currently in version 4, so is referred to as IMAP4.
Using IMAP, users can access mails on the server directly, without having to first download them before being able to view them. As with POP, IMAP can only be used to retrieve mail, mail is sent using SMTP.
Setting up an IMAP account requires the same information as a POP account, with the only difference that the Incoming Mail Server needs to be set to the address of the IMAP server rather than a POP server.
HTTP mail accounts are those mail accounts that are typically access through a web browser, such as Hotmail (or Windows Live, or whatever latest name change the service has undergone by the time this article is being read!). HTTP is the HyperText Transfer Protocol, the protocol used by the World Wide Web to retrieve web pages across the Internet. Typically, when setting up an HTTP mail account, the service will be listed explicitly (thus Hotmail will be listed as "Hotmail" rather than just plain "HTTP Mail", the following information is required:

Exchange (or corporate, in-house server-based mail platforms) can be set up by the company's IT department, but are not complicated to configure in terms of the amount of settings required. Typically a connection will need:

When setting up a connection to Exchange, provided that you are running Exchange 2003 or later, it is possible to configure Outlook (and other mail clients, such as Entourage for MacOS), to access the Exchange Server via HTTP (or HTTPS, depending on how the server has been configured). Normally, the server address in this scenario is the same address as that used for Outlook Web Access (OWA), ie logging into your mailbox via a web browser.
DNS
Should all of the account settings be correct, and you receive an error message along the lines of "the mail server could not be reached" when trying to send or receive email, it could be a DNS issue. As we looked at last week, DNS is the Domain Name System and is the technology by which "friendly" names of web sites and mail servers (such as www.bbc.co.uk), which means absolutely nothing to a computer, is converted to an IP address (such as 212.58.251.195). Should a DNS server not be available to the PC, or be misconfigured, then the PC will not be able to "resolve" the address of the mail server. In this case, it is necessary to either adjust the DNS server settings, or enter the IP address of the mail server in the email client rather than the friendly name so that a DNS server is not required.
Below are the addresses of two DNS servers I have found to be useful in the past:
195.129.12.115
158.43.128.72
You can find out the IP address of a mail server (on a PC that has DNS configured correctly), by opening a command window and typing in:
ping (server address)
The IP address of the mail server will be returned:

Enter this information in the account settings of the email software, replacing the "friendly" name.
Firewall
Provided that all of the settings are correct, and DNS is able to resolve the name of the mail server to its IP address without issue, if you are still not able to reach the mail server, then it may be a firewall configuration problem. The following ports need to be open on the firewall for email to function correctly:
Server Issues
Should all of the above not be the cause of the problem, then it is time to "roll up the sleeves" and troubleshoot the authentication and mail submission process with the email server directly, at the command level. I will look at troubleshooting the POP and SMTP protocols as the most common.
POP
Open up a command window on your PC and establish a Telnet connection to the mail server. To do this, in the command window, type in:
telnet (server address) 110
(where
The server will indicate that it is ready by returning an OK response:

You can now send your username to the server by issuing this command:
USER SP (username)

You will now be prompted to enter your password, the command to do this is:
PASS SP (password)
An OK response indicates that you are now successfully logged in.
If you do not get the prompts listed above then again verify the DNS and firewall configuration, or contact your service provider as the server may not be available, you may be using the incorrect username or password or your account may have been disabled for some reason.
IMPORTANT - it is important to be aware that logging into a POP server via a Telnet session sends your password to the mail server in plain text, without encryption. In the unlikely event that your session was intercepted, the "hacker" would be able to see your password as it was typed in.
Once logged in, you can query the mailbox. The following command will return the number of messages in the mailbox and the total size of them:
STAT
The response will be in the form:
+OK n xxxx
(where x is the number of messages and xxxx is the size on bytes)
To display information on individual messages, use the LIST command:
LIST SP
The response will display the individual messages in the mailbox, the unique message identifier (UID) and its size.
To retrieve an individual message, use the following command:
RETR SP (message number)
(where the message number is the UID value returned by the LIST command)
This will cause the entire message to be downloaded to the client. Once downloaded, to delete the message, use the following command:
DELE SP (message number)
SMTP
Open up a command window and establish a telnet session with the mail server. To do this, use the following command:
telnet (server address) 25
(where server address is the name or IP address of the email server)
The server will respond and indicate that it is ready and waiting for the next command (SMTP code 220):

Now you will need to indicate the domain that you wish to send an email from. Use the following command:
helo (domain)
The server will respond with an SMTP code 250, indicating that it is ready and waiting for the next command. You will now need to enter the email address that you are using to send the message. Use the following command:
mail from:(sender_email_address)
The server will respond with an SMTP code 250, indicating that it is ready and waiting for the next command. You will now need to enter the email address that you wish to send a message to. Use the following command:
rcpt to:(recipient_email_address)
The server will respond with an SMTP code 250, indicating that it is ready and waiting for the next command. You can now type in the text of the message you wish to send. Issue the following command, followed by the text of the message:
data (body of message)
When you have finished typing the text of the message, press Enter, then type in a single "." followed by Enter:

You will be notified that the message has been queued for submission.
After a few moments the email will be delivered:

SMTP is the protocol by which most email platforms exchange mail: the POP and IMAP protocols are reserved for mail retrieval. The above troubleshooting procedure can be applied to any SMTP-compliant mail server. If you are unsure as to what server address to use when troubleshooting an SMTP-related mail issue, then you can find out using the nslookup command:
Open a command window and type in:
nslookup
The command prompt will change. Now set the query type to MX (Mail eXchange):
set type=mx
Now type in the domain that you wish to query, for example:
devicewire.com
The mx record details for the domain will be returned:

Troubleshooting Exchange Connections
There are several different ways of connecting to an Exchange Server:
"locally" via a MAPI connection (either via a LAN or VPN connection)
Over the Internet via na HTTP or HTTPS connection
Via a web browser using Outlook Web Access
(or, of course, Exchange also supports POP and IMAP connections)
It is beyond the scope of this article to go into the vagaries of troubleshooting VPN connections, but if you are using an HTTP(S) connection from a mail client, such as Outlook, to retrieve email, then the server address to use is the same as that used for Outlook Web Access (indeed, this means of retrieving mail is effectively a Server ActiveSync connection, the same protocol that Windows Mobile PDAs use to "push" email from Exchange). Should the connection not be successful, try opening a web browser and entering the same server address. Should the page not be displayed again verify DNS. If you are unable to login then verify account information.
Mobile Network Operator
It is important to be aware of SMTP relaying restrictions. To try to combat SPAM (unsolicited emails), most SMTP servers are not simply open to the Internet at large, allowing anyone to send email messages through them: instead they are firewalled to only accept emails from specified IP addresses. Therefore, to send an email via Tiscali's SMTP server, you would have to be connected to the Internet using a Tiscali connection.
When users change their method of connecting to the Internet, quite often they will find that they can receive emails, but are no longer able to send them.
Thus, when at home, or in the office, email will function correctly. But when out of the office, connected to the Internet via a 3G connection, it may be necessary to edit the email account settings and change the SMTP mail server address (as Tiscali's SMTP server will not allow mail relaying from the IP address you will have been given by the mobile network operator).
Your network operator will be able to provide you with the details of the correct server address to use, here are a few:
Orange - smtp.orange.net
O2 - mail.o2.co.uk
Vodafone - send.vodafone.net / mail.vodafone.co.uk
Three - smtp.three.co.uk