In the last article, we created an Accepted Domain and Send Connectors to support our coexistence scenario. The current message flow configured can be seen in Figure 1.
Now, we need to configure Exchange Server 2007 to receive mails from Internet and also be a relay server for our Mdaemon server and then we are going to run some tests to validate our coexistence scenario.
Configuring Receive Connectors
By default, Exchange Server 2007 has two receive connectors (Default and Client) we are going to add an additional Receive Connector and it will be configured only to allow relay from any message coming from the Mdaemom Server IP address. After that, we will be able to configure MDaemon to send messages to Exchange Server and the new server will be responsible to send messages to the internet. Also, we are going to configure the Default connector to receive internet mail without requiring authentication (default setting).
First things first, let us create a receive connector to allow MDaemon to send messages:
- Open Exchange Management Console.
- Expand Server Configuration.
- Click on Hub Transport.
- Select the server object on the right.
- Click on New Receive Connector in the Toolbox Actions.
- On the Introduction page, type in a name for the new receive connector and select Custom, click on Next. (Figure 02).
- On the Network Settings page, let us use the default settings (all available IP Addresses and listening on 25 port) and to facilitate a troubleshooting later on we can use a different FQDN for this new receive connector, click on Next.
- On the Remote Network settings page, remove any entry from Remote IP Address (es) frame and click on Addbutton and specify the IP address of the MDaemon Server and click on Next. (Figure 3).
- On the New Connector page, we will see a summary of all configuration that we have done so far, click onNew.
- On the Completion page, click on Finish.
The Receive Connector was created however we still have some stuff to do. Double click on the new receive connector, and click on Permissions Groups tab and tick the option Anonymous users and click on OK.
So far our new Receive Connector will allow Mdaemon Server to deliver local messages in Exchange Server 2007, however it will not allow Mdaemon Server to use our Exchange Server as relay server for Internet recipients. We can configure Exchange Server to act as relay server to any recipient coming from Mdaemon Server, we can use the following Exchange Management Shell to accomplish our goal:
Get-ReceiveConnector “MDaemon Receive Connector” | Add-ADPermission –User “NT Authority\Anonymous Logon”-ExtendedRights:ms-exch-SMTP-Accept-Any-Recipient
Be extremely careful with the cmdlet above, if you configure that on your Receive Connector facing the Internet you will be allowing any external host to use your server as an Open Relay Server and your server is going to join a Black List.
At this point of our article, the new Exchange Server accepts message from MDaemon Server and deliveries the message either internal or external recipients. The second step is to configure Exchange Server 2007 to receive mails from the Internet, this configuration is straight forward process. We just need to configure the Default Receive Connector to accept anonymous users, like we have just done in the previous step. More information how to configure an Exchange Server to receive mail from Internet can be seen on this MSExchange.org article.
Changing MDaemon Server mail flow
If you are moving from another third-party mail server to Exchange Server, you should adapt the settings that we are going to perform on MDaemon Server to your current scenario/solution. Basically, we are going make sure that MDaemon is going to send all mail traffic to Exchange Server. Keep in mind that if both recipients are in the same server (either MDaemon or Exchange Server) the smtp routing will not work because both system check their local address first before sending messages out.
In order to configure MDaemon to forward all message traffic to Exchange Server, these following steps can be done:
- Open MDaemon Console (Click on Start, Programs, Mdaemon and then Start MDaemon).
- Click on Setup menu item, and click on Primary Domain…
- Click on Delivery tab (Figure 04), and select the option Try direct delivery but send problem emails to the server specified below and in the Mail server field add the Exchange Server IP Address.
- Click on Unknown Mail tab (Figure 05). Make sure that Send message to the “Postmaster”user and Place message in bad message directory options are uncheck, and check the option Enable advanced options and add the Exchange Server IP address on Send the message to this host field.
Testing the mail routing…
We have just done the required configurations in order to allow Exchange to receive and route messages in a coexistence scenario however we need to test the new settings and make sure that everything works properly. In order to test the new scenario these initial tests can be performed, as follows:
Create a new mailbox user on Exchange Server.
Open Exchange Management Console and check the new user SMTP Address. You can use that e-mail address to perform the next tests.
From any client machine or Exchange Server use telnet utility to connect on Exchange Server port 25 and send a message to the new user and also to an existent user located in MDaemon.
Note: In this test we are going to use the Default <Server-Name> Receive Connector.
Logged on MDaemon Server try to send a message to an Exchange User.
Logged on MDaemon Server try to send a message to an external recipient.
Logged on OWA try to send a message to a MDaemon user.
Logged on OWA try to reply a test message that came from MDaemon (Step 04).
Change the incoming traffic to Exchange server
After testing all the configuration and document all the process, we will be able to switch the incoming traffic to the new Exchange Server without interrupting the mail traffic. You need to change the current firewall settings to forward external traffic arriving on 25 ports from external sources to the IP address of the new Exchange Server.
In this article we worked on the Receive Connectors to accommodate the coexistence between Exchange Server and third-party mail server and also created some tests to validate that coexistence between them. In the next article we are going to cover the directory synchronization to provide some Global Address List during the migration.