Oct 4, 2016

Exchange Server 2013 - POP3 Mail Collector using MDaemon

The new Microsoft Exchange Server 2013 no longer supports POP3 mail collection from a 3rd party hosting provider. It have caused some difficulties for small & medium enterprise where they still replies heavily on this provider for their business email communications.

Some hosting provider does supports IMAP collections while some are not, this is because the server(s) the hosting provider is using was unable to support such protocols (due to whatever the reasons), so you are stuck in the middle to resolve this problems.

So either you change the hosting provider (which may incurred more cost) or you use an old Exchange server that still supports POP3 protocols (which you will not have the latest features & functions).

There are many solutions out in the internet that provide a workaround for this and I find many to be either ridiculous, too little functions/features, too complicated to configured or just plain unstable due to whatever the reasons.

I found that Quantum Software Solutions  Exchange Connector to be the simplest software to use & to configure but due to unknown reasons, the software been giving me a lot of problems lately when my users reached more than 50 users and also I need to constantly monitor the server to manually restart it should it become freezes. It also causes missing emails, unable to send emails to my Exchange server and many more.

So I tried another solution based from my past experiences by using MDaemon Mail Server which I have deployed many times to many clients successfully. And some are still running fine without any problems until today..... now that's what I called stability.

After some trial and error, I have managed to make it work & to cut the story shorts below are some examples of the configurations :-

1. Install MDaemon Mail Server (you may need to check the compatibility list & plan your deployment accordingly). Just follow the on-screen instructions.

2. Goto --> "Setup" --> "Primary Domain" options --> "Domain/ISP" tab as shown below.

a) Domain name = [any local domain name will do, it must NOT be your actual domain].
b) HELO domain = [same as above]
c) Domain IP = [the IP address of the host you are running MDaemon].
d) ISP or smart host's IP or domain name = [your exchange server's IP address].


Note : DO NOT USE your company's actual domain name (eg. company.com.my), you must configure it to use something else (eg. company.local). You will understand why later when I describe how the mail flow works.

3. Goto --> "Ports" tab as shown below and change the "Create outbound SMTP events using this TCP port" option to something that are not standard (eg. 524).



4. Leave the rest configurations as default and click "OK" button.

5. Now goto --> "Setup" --> "Even Scheduling" and configure as shown below then click "OK" button when done.


Note : Some hosting provider limit time access to their server & to avoid lockup, ensure you configure this accordingly to your hosting provider, if in doubt check with them.

6. Now login to your Exchange's ECP, goto --> "mail flow" options.



7. Then goto --> "receive connectors" tab.



8. You will see a list of default transports, click on the plus sign "+" as show below.



9. At the "General" option --> "*Name" box, create a sensible name (eg. POP3 Receive Connector) as shown below.



10. Next goto --> "security" option and ensure its selected as per below options.



11. Then goto --> "scoping" option, configure as below & click the "save" button when done.

a) Ensure the IP address matches your LAN (eg. 192.168.0.*/24).
b) Ensure the port number is specified (eg. 524).
c) Ensure your Exchange server's FQDN is correct (eg. server.company.com.my).



12. Now proceed to logout from your ECP and return back to your MDaemon server, we are now ready to create users for MDaemon (I assume you have already created all the required users in Exchange server).

13. Goto --> "Accounts" menu --> "Accounts Manager" --> click "New" button, then it will display another windows as below. Under "Account" tab configure as shown.

a) Full name = Daniel Cheah
b) Mailbox name = daniel.cheah
c) @ = company.local
d) Account Password = [Password]



14. Browse to "Forwarding" tab --> select "This account is currently forwarding mail" option. Then key-in the FQDN email account (eg. username@company.com.my) as shown below.



15. Next is goto --> "MultiPOP" tab --> select "Enable MultiPOP mail collection for this account" option as shown below.



16. Now type-in your hosting provider's mail server details (eg. pop.provider.com.my) and the username & password (which you have already created in hosting provider's mail server) as shown below, once done click the "Add" button.



17. Once added, you will be able to see the list created as shown below, now click "OK" button to exit.



18. Now you can close all open windows and try send a test email, I will suggest using your own personal Hotmail or Gmail for this testing purposes to ensure MDaemon are able to collect the emails from the hosting provider's mail server and then automatically forward it to your local Exchange server accordingly.

The in your computer, open Microsoft Outlook (which you already configured to connect to your local Exchange server) and check whether you have receive the test email or not. If everything is correctly configured you should be receiving it around 5 mins time.

19. Below is a sample diagram of the incoming mail flow using Quantum Software Solution's Exchange Connector (QSS EC).



20. Below is a sample diagram of the incoming mail flow using MDaemon server.



21. From comparisons both diagram is almost the same but bear in mind that MDaemon is a full fledge server unlike QSS EC which are not.

So how does QSS EC works ?
  1. It collects emails from hosting provider's server via POP3 protocols.
  2. Verify recipients validity by cross checking with Active Directory via AD/LDAP protocols. 
  3. If correct then forward the emails to your local Exchange server via IMAP4 protocols.
  4. Clients collects emails from Exchange server via IMAP4 protocols.
  5. If failed, then it will forward to the "Mail Master/Administrator" mailbox.
This means that QSS EC required constant verifications with AD & Exchange which I suspect was the culprit behind the constant freezes and the "access denied" error in the logs.

22. Now comparing to MDaemon's processing.
  1. Collect emails from hosting provider's server via POP3 protocols.
  2. Verify recipients with MDaemon's local DB (that is why the MDaemon server must not use the same domain name).
  3. Auto forward emails to "Smart Host" (which is your local Exchange server) via SMTP protocols on custom port.
  4. Exchange server verify the recipients & send to local mailboxes.
  5. Clients collects emails from Exchange server via IMAP4 protocols.
As MDaemon is using the "Smart Host" functions to deliver emails to your local Exchange server, the domain name in MDaemon must NOT be the same with your Exchange server. Else MDaemon will thought that this is a local account & no forwarding is required even though you configured it.

23. As for the sending emails out, clients will be using the IMAP4 protocols to send emails to your local Exchange server and then the Exchange server will send the emails out directly. It's the same for both QSS EC & MDaemon.

Of course you can also configured your Exchange server to forward it to your hosting provider's SMTP server and this is up to your decisions. But do keep in mind about the hosting provider's server where it might be lockup due to too many SMTP request from the same IP & thought its was a "spam overflow/DoS" attacks.

That's all and HAPPY EMAILING !!!