Many using Windows 8 use Outlook 2013 to send and receive email. While Outlook 2013 isn't too hard to configure, most people using a major Internet Service Provider (for example Comcast in the USA) will find that their test emails fail.
This is because most ISPs block the SMTP port 25, the usual port for sending email.
I spent a couple hours banging my head on the desk
trying to get Outlook 2013 on Windows 8 to send and receive email with my IPSConfig servers. Here's what finally worked...
Technical background information:
1. Dedicated Servers running CentOS 5.6, 5.7. (Those are old distros so I imagine anything running 6.x or greater will still function the same).
2. ISPConfig 2.2.x running Postfix 2.3.3. Any newer version of Postfix should be fine. To get your Postfix version:
]# postconf -d grep mail_version
3. Windows 8 64 Bit running Outlook 2013.
4. Comcast Internet Service USA, allowing incoming mail on port 110 and secure
outgoing mail on port 465.
5. I am using my server IP addresses as incoming and outgoing mail server addresses. If your server is already running a functional mail server as mail.mydomain.com or as hostname.domain.com, you should probably use those FQDNs.
: I am assuming you have already setup an email user account in ISPConfig for your domain, for example: email@example.com
. In ISPConfig 2.x, you'll get a username with that process, for example web10_myusername and the password you entered will be your email password.
Proper DKIM and SPF records will help your email reach major service providers like Yahoo, Hotmail, Live, and Gmail. You can find HowToForge's instructions on Setting Up DKIM here
An SPF record (Sender Policy Framework) is simply a TXT DNS record for your domain that allows receiving servers to confirm your mail server's identity. You can learn more about SPF records here
A common SPF record that seems to be acceptable to Yahoo, Gmail, and email testing services is: "v=spf1 a mx ptr ip4:22.214.171.124 -all" (without quotes in the actual entry), making sure that you have a rdns record setup for your server. Substitute your server's main IP for 126.96.36.199 in the example.
Changing Postfix to listen on Port 465 is fairly easy. If you must use Port 587 or any other port, please search HowToForge.com for posts about listening on non-standard ports.
Port 465 is listed as "smtps" (SMTP secure) in Postfix master.cf. To make Postfix listen on Port 465 using smtps, do the following to edit your master.cf file:
]# vi /etc/postfix/master.cf
Look for the following line and uncomment it:
#smtps inet n - n - - smtpd
smtps inet n - n - - smtpd
Save and quit VIM, then restart Postfix:
Test Postfix from your Windows 8 Computer
]# /etc/init.d/postfix restart
Before proceeding, make sure you can Telnet to your server on port 465. If Postfix is running on your server and you can NOT reach it on Port 465, your ISP might be blocking this port.
To test port 465 from your Windows 8 desktop:
1. Open the cmd prompt.
2. Type "telnet" and hit Enter.
3. If you don't get a "Welcome to Microsoft Telnet Client" message, you may have to install Telnet first. Follow instructions here.
4. At the Microsoft Telnet command line type:
o [mail.domain.com or server IP or domain name] 465
Then hit Enter.
Your server IP should work if mail.domain.com or domain.com fail. The IP is IPv4, for example 188.8.131.52. If this fails, your ISP might be blocking 465. Alternatively, your server might not be listening on Port 465.
Before calling your ISP,
open a SSH connection to your server, login, and enter the following command, where 184.108.40.206 is your server IP:
]# telnet 220.127.116.11 465
If no command "telnet" exists, install telnet and try again:
]# yum install telnet
If you receive the following greeting, your server is listening on port 465 correctly:
Connected to hostname.domain.com (18.104.22.168).
Escape character is '^]'.
220 hostname.domain.com ESMTP Postfix
Otherwise, you might have a problem with your Postfix Configuration. Please view your mail logs to see what errors are being reported. If everything looks good on your server, your ISP might be blocking port 465 and you'll have to use a different port. Please search HowToForge.com for information about using a different port.
Configuring Windows 8 Outlook 2013 to Send and Receive Email from Your ISPConfig Postfix server
I'll assume you are beginner (like I was) and explain everything step-by-step. If you are an expert user, just skim through the following to setup your account.
1. Open Outlook 2013. Click the "File" menu. You'll see a few large icons in the middle of the screen. Click "Add Account".
2. Look at the bottom of the configuration window that pops up. Select "Manual Setup or Additional Server Types", then click "Next".
3. The next screen lists the type of mail server you use. Select "Pop or IMAP", then click "Next".
4. The next screen is important and asks for detailed configuration information. Take it one entry at a time.
a. Your Name - Enter the name you want others to see when they receive your email, ie. "Joe Smith" or "ABC Company"
b. Email Address - Enter your email address EXACTLY as you programmed in your ISPConfig control panel, ie. firstname.lastname@example.org
c. Account Type - Select "Pop3".
d. Incoming mail server & Outgoing mail server - You should enter your server's entire FQDN: host name or mail server. A hostname would look like: host.domain.com , while a mail server is typically mail.domain.com . You can also use your server's main IP, for example 22.214.171.124 . The IP should suffice if all else fails.
e. If you use different addresses for incoming mail versus outgoing mail, enter the correct address in the corresponding place.
f. In the "Logon information" section, your username is what you programmed inside the ISPConfig control panel for your domain, for example web10_myusername . Your password is the password you setup for this username.
g. Check "Remember Password" box for convenience so Outlook will automatically load your email each time it opens. Otherwise, if you do not check the box, you'll be asked for your password prior to sending/receiving email each time.
h. Look for a box on the right side of the window called "More Settings...". Click this box to produce another pop-up window.
i. The General Tab comes up first. You can enter your name, email address, or server name in the "Mail Account" space. "Other User Information" is optional.
j. Click the "Outgoing Mail Server" tab. Click the check box "My Outgoing server (SMTP) requires authentication"
k. This will allow you to edit the next section. Select the box "Log on Using", then enter your username web10_myusername in the Username space and your password in the Password space. Click the "Remember password" box or else you'll be asked to enter your password every time email is sent.
l. Click the "Advanced" tab. Look at the "Server Port Numbers" information. This looks confusing but go one-by-one.
m. Incoming server (POP3): enter "110".
n. Do NOT
check the box "This server requires an encrypted connection (SSL).
o. Outgoing server (SMTP): enter "465".
p. Select the "Use the following type of encrypted connection" menu and set to "Auto".
q. The rest of the advanced section can be edited to your preferred settings. Allow a little extra time for the "Server Timeout" (at least 1 minute).
r. Click "OK" at the bottom of the pop-up window to close "More Settings".
s. Under the "Test Account Settings" section of the "Add account" window, click "Automatically test account settings when Next is clicked".
t. Now click "Next" at the bottom of the window.
Outlook will attempt to login to your account using the settings you provided.
You might get prompted about the validity of your server certificate. For the time being, ignore the warning and proceed with the test.
(If a valid certificate is critical to your server operation, please follow instructions on HowToForge.com about creating a certifcate using StartSSl here
- note these instructions are for Debian and NOT CentOS, but the procedure should be nearly the same.)
If you get a connection error, double check that you've entered your email address correctly on the "Add account" page and "More Settings - My Outgoing Server Requires Authentication" section.
Next, Outlook will send a test email to your account. If you receive an error, double check the following:
1. Your outgoing mailserver in the "Add Account" window is correct, exactly as you programmed in ISPConfig. Double check ISPConfig's DNS section to make sure your MX record and corresponding A record are present. Test your domain's DNS for free at www.dnsstuff.com
2. In the "More Settings" menu, make sure "My outgoing server requires authentication" is checked. Also, the "Log on" circle is selected, with your exact username and password entered.
3. In the "More Settings - Advanced" Menu, make sure your incoming server POP3 port is 110. Make sure your outgoing server port is 465. Finally, make sure you select "Auto" from the type of encryption drop down.
If all else fails, contact your ISP (in my case Comcast) to make sure they are not blocking ports 110 or 465 by mistake. Then, check that your mail server is functional and accepting connections on those ports.