We began our five-part series on building a full-featured Internet hosting server with a Mac mini yesterday and covered the recommended hardware for the server as well as basic instructions for setting up an Apache Web Server. Today we’ll show you how to turn your Mac mini into a full-blown mail server with SMTP, POP3, and IMAP support. Before doing that, let me first define what SMTP, POP3, and IMAP are. And then I want to offer a word of caution about why setting up these services (especially POP3 and IMAP) for most folks is probably a bad idea.
SMTP or Simple Mail Transfer Protocol is a collection of services to send email messages between servers. It also accepts messages from mail clients for delivery to others. Messages are retrieved with a mail client which "talks" to either a POP3 or IMAP server which manages the flow of incoming messages between an SMTP server and the mail client. While there are exceptions, the fundamental distinction between a POP3 client and an IMAP client is that POP3 clients download messages and manage them on a local machine while IMAP clients download copies of messages which are generally stored on a server. At the risk of oversimplifying, if you have one computer and one email account, POP3 is more than adequate. If you have multiple computers that all need access to your email messages or if you need web access to your email messages, IMAP is probably a better choice because it is more robust particularly in handling deletions of messages from a variety of locations.
Rather than telling you not to install an email server, let me try to define when it would be appropriate and leave the rest to you. Every ISP on the Planet provides SMTP services for its customer base. If you have Internet access, you generally also have SMTP services to handle delivery of your outgoing email messages. One advantage in setting up your own SMTP server is you will always know its address or domain name. If you travel extensively or spend lots of time in Wi-Fi HotSpots of different vendors, then SMTP services for outgoing mail can be painful because you generally have to reconfigure your email client to tell it the address of your SMTP server before you can send or reply to email. This is not always the case, however. Most modern WiFi HotSpot routers now transparently reconfigure your SMTP settings when you connect to their services. And having your own SMTP server doesn’t always mean you can send email because more and more ISPs are blocking SMTP activity from downstream computers (i.e.. computers located inside your ISP’s firewall and routers) as a way to better control the proliferation of SPAM.
Almost every ISP on the Planet also provides POP3 mail services for customers, and most provide IMAP and webmail access as well. In addition, for mail delivery and storage, there are numerous other free services including Gmail from Google, HotMail from Microsoft, and Yahoo Mail from Yahoo as well as low-cost vanity email providers such as NetIdentity.com. Unless email between numerous users in your local area network is significant and uploading and downloading of messages to and from an ISP causes inordinate delays in the delivery of email, I can think of no sound reason to deploy either a POP3 or IMAP server on your local system. And there are some very good reasons for not doing it. First, it all but requires that you have a good grasp of DNS principles and that you properly configure your mail domain. If you’re saying, "What’s that," then you definitely do not need a POP3 or IMAP mail server. Second, if you don’t know what you are doing with DNS and your POP3 and IMAP settings, you run the very real risk of losing all of your incoming mail or having it bounce back to the senders. Third, most ISPs back up their servers fairly regularly. Do you plan to do the same? It’s your email! Finally, mail server services can be processor intensive and eat into your available resources. Keep in mind that these services have to run regularly to determine whether there is incoming or outgoing mail and, if so, to process it. Is it worth the computing resources to duplicate a service that skilled personnel already handle for free at your neighborhood ISP? End of lecture.
So you want to be a mail administrator. Great! Assuming you’ve mastered DNS (which is beyond the scope of this tutorial … and me), setting up SMTP and optionally POP3 and IMAP services couldn’t be easier on the Mac mini. Step 1: Go to this web site or this one and download Postfix Enabler. Step 2: Print a copy of the web page while you are there. This is the installation and operating instructions. Step 3: Decompress the archive and drag the Postfix Enabler icon to your Applications folder. Step 4: Run the application and provide your Admin password. Step 5: Click the Enable Postfix button. You now have a fully functional SMTP server. Step 6: If you want POP3 or IMAP servers enabled, reread the warnings above (hint!), and then read the Postfix Enabler documentation for installation and configuration instructions. Step 7: Send the author a small donation. Postfix Enabler is shareware. Having dabbled in shareware myself once upon a time, I can tell you it’s one of the best things that ever happened to keep the computer industry honest and competitively priced.
Note: Unlike Windows machines which all have their special quirks, all Macs pretty much work the same way so everything we’re discussing will work just as well on an iMac, or Powerbook, or Power Mac G5, or eMac, or iBook so long as you’re running an up-to-date version of OS X v10.3, aka Panther. If you have a Mac mini, then you have OS X v10.3. If you have a different Mac and you’re using an earlier version of OS X, then pretty much everything is different insofar as mail services (even the SMTP server is different) so you can stop reading now.
To test your new SMTP server, start up your mail client and reconfigure your client’s SMTP server settings to point to 127.0.0.1. Now send a message you don’t mind losing to someone you know and ask them to reply. Or just send a message to yourself. Wait a few minutes and refresh your mailbox. Keep in mind that a number of ISPs block all SMTP-generated email messages from end-users (that’s you!). If it doesn’t work, it’s probably your ISP that’s the problem, not Postfix. I told you not to do it. Didn’t I?
In our next installment, we really will be installing something you need, the MySQL data base management system, one of the fastest and most reliable DBMS products in the marketplace. It also happens to be free for most purposes. What can you do with MySQL? Just about anything. Take a look at our main web page at mundy.org. It is completely generated from a MySQL database. Or visit one of our beach webcam sites at Pawleys Island or Surfside Beach. All of the tide, sunrise, and sunset data for these sites is generated from a 100-year table of data stored in, you guessed it, a MySQL database. So join us back here tomorrow.
Well Done so far so very awesomely great!! THX! Looking forwards to parts 3, 4 and 5!!
newbie alert!!!
So if I use a unique url, wouldn’t I need to set up a mailserver for this url?
how else would the mail know where to go? I setup my url http://www.mine.com
I would want my email to be me@mine.com that address doesn’t exist for my isp, so aren’t I going to have to have my server also be a mail server?
[WM: Take a look at our article on Web Hosting. I think you’ll find it’s a better (and cheaper) fit for what you want to do.]
Will this SMTP setup work from outside the local network? This sounds great if I set it up on my iMac at home, but when I’m using my powerbook on the road, can I use my home iMac as an SMTP server?
Example: My ip address is 12.53.18.233. I have dyndns setup as homeimac.dyndns.org. On my powerbook, can I set homeimac.dyndns.org as my SMTP server? If so, can’t any spammer just set that as their SMTP and use my machine to send unauthorized email?
[WM: You can allow outside access to SMTP but, as you mentioned, the spammers will kill you if you do it incorrectly. One way is to require a login name and password to access the SMTP server to send messages. You can find lots of information about it searching the web. Another solution is to put the SMTP server on your PowerBook. That’s what I’ve done, and it works great unless you happen to hit an ISP somewhere that blocks the outgoing SMTP port. Fortunately, that’s still pretty rare.]
Thanks for the feedback but there are a number of reasons why I don’t want to use a web host, but essentially I want to keep it all under one roof, mine.
I am new in alot of respects as my strengths are video and graphic work, but I always find it better to keep things closer to home.
I will just have to struggle through on the mail end of things then. Thanks again.
[WM: There have been a number of questions along the lines of your original one. I plan to address these early next week. Stay tuned!]
A sound reason (IMHO) to deploy either an IMAP server on my local system:
1. I want full control of and responsibility for my own mail archives; I want important business communications to be stored locally, not reside permanently on a remote server belonging to a third party.
2. I want to experiment with different mail clients without having to repeatedly import and export my mail archives for each one.
I think you need to ask Postfix Enabler programmer to send you some kind of money (I register my copy of the program)
Thank you very very much for your weblog. On thursday I buy an Mac mini and your information is perfect for my needs
Like Jeff (comment #4) I’m using my Powerbook on the road.
To keep all email folders synchronized on the Powerbook and my XP box at home (including the Sent Items folder) I would like to have more info on how to achieve this in a secure way (that is, the way you did it…).
Will buy a Macmini for that purpose.
Great articles!