Configuring Outbound Mail Flow in Exchange Server 2013

Outbound mail flow in Exchange Server 2013 is managed with the use of Send Connectors.

Send Connectors are not configured by default when you first install Exchange Server 2013. If the Exchange 2013 server is installed in an existing organization then other Send Connectors may already exist that facilitate outbound mail flow. Otherwise, you will need to create at least one Send Connector yourself.

Most organizations will be dealing with one of the following outbound email flow scenarios:

  • email sent directly over the internet to the recipient’s server
  • email sent to the internet via a smart host
exchange-2013-send-connectors-01
Sending directly over the internet vs sending via a smart host

There are other scenarios as well, such as:

  • email sent outbound via an Edge Transport server
  • email sent directly to a partner organization using TLS encryption

An organization can have one, two, or several Send Connectors to provide the specific email routing that they need.

For this article we’ll focus on the first two scenarios, as they are the most common; sending directly to the internet, and sending via a smart host. We’ll also cover testing and troubleshooting a Send Connector, and some more advanced configuration options.

Configuring Outbound Mail Flow Direct to the Internet

Configuring your Exchange 2013 organization to send means that your Exchange server will look up the MX records for the recipient’s email address, and then use those MX records as the IP address(es) to connect to via SMTP.

Looking up MX records means your server will be relying on DNS. If the server’s TCP/IP settings are configured for DNS servers inside your network that can’t resolve external names, then you can configure Exchange to use different DNS servers for external lookups.

To create the Send Connector for sending outbound email directly to the internet open the Exchange Admin Center and navigate to Mail Flow -> Send Connectors.

exchange-2013-send-email-direct-01

Click the + button to create a new Send Connector.

exchange-2013-send-email-direct-02

Give the connector a name and set the type to Internet. Click Next to continue.

exchange-2013-send-email-direct-03

Leave the network settings set to MX record. If you needed to configure specific external DNS servers you should also tick the box, but if your Exchange server can already resolve external DNS names then that should not be required. Click Next to continue.

exchange-2013-send-email-direct-04

Click the + button to add a new address space. Specify the FQDN of * (the wildcard character that effectively means “anything”). The cost can remain at the default setting of 1 if this is the only send connector for your organization. Click Save and then click Next to continue.

exchange-2013-send-email-direct-05

Click the + button to add the source servers for the connector. These are the servers that will be responsible for routing email out from your organization to the internet. Multiple servers will provide redundancy for outbound mail flow. Click OK and then click Finish.

exchange-2013-send-email-direct-06

The send connector is now visible in the Exchange Admin Center.

exchange-2013-send-email-direct-07

For further configuration and tested steps refer to the last section of this article.

Configuring Outbound Mail Flow via a Smart Host

Configuring a Send Connector to send outbound internet email via a smart host is the same process as above, with the following differences.

First, the network setting is configured to Route mail through smart hosts instead of MX records. You must then click the + button to add at least one smart host name or IP address. Multiple smart hosts are permitted and are recommended for redundancy.

exchange-2013-send-email-smart-host-01

When you choose to use a smart host you also get the option to configure authentication for the Send Connector. This is only necessary if the smart host requires it. Many email security servers/appliances or even hosted solutions will simply authenticate you based on your IP address rather than require other credentials.

exchange-2013-send-email-smart-host-02

Testing a New Send Connector

The obvious way to test a new send connector is to send an email from inside the organization to an external recipient.

When the message is received in the external mailbox you can then take the message headers and use the MXToolbox header analyzer or the ExRCA Message Analyzer to inspect the headers and confirm that the email passed through the source servers you were expecting it to for that outbound route.

exchange-2013-send-connectors-test-01

If the email does not arrive you can inspect the transport queues on your Exchange servers for stuck email.

[PS] C:\>Get-TransportService | get-queue

Identity                   DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain
--------                   ------------ ------ ------------ -------- --------- -------------- -------------
E15MB1\22206               SmtpDeliv... Ready  0            0        Normal    0              mailbox database 1
E15MB1\Submission          Undefined    Ready  0            0        Normal    0              Submission
E15MB1\Shadow\22204        ShadowRed... Ready  0            0        Normal    0              e15mb3.exchange2013dem...
E15MB2\22750               SmtpDeliv... Ready  0            0        Normal    0              mailbox database 2
E15MB2\Submission          Undefined    Ready  0            0        Normal    0              Submission
E15MB2\Shadow\22748        ShadowRed... Ready  0            0        Normal    0              e15mb1.exchange2013dem...
E15MB3\Submission          Undefined    Ready  0            0        Normal    0              Submission
E15MB3\Shadow\16452        ShadowRed... Ready  1            0        Normal    0              e15mb1.exchange2013dem...
E15MB3\Shadow\16456        ShadowRed... Ready  1            0        Normal    0              e15mb2.exchange2013dem...

To look more closely at the messages stuck in a single queue you can use Get-Queue and Get-Message together.

[PS] C:\>Get-Queue E15MB1\22206 | Get-Message | ft

If the properties of the stuck messages do not reveal the problem then another valuable source of troubleshooting information is the protocol logs. For more tips refer to the following article:

Further Configuration Options for Send Connectors

Some additional configuration options you can explore are:

 

Comments

  1. Denny Eapen says

    Hi Paul:

    Good article.

    Does it mean that emails CAN be sent to internet with only Mailbox Role and no CAS?

    Thanks
    Denny

  2. Mor says

    I am a new IT engineer and learning Exchange server 2013.
    To connect Exchange server 2013 to internet, how can we make it in safely ?
    Please share your opinion.

  3. Grant says

    Is it possible – via send connector or other means (rule perhaps) to send all mail *from* a specific internal domain through a smarthost? For example, let’s say we have two divisions and each have their own domain – joe@maindiv.com and bob@subdiv.com. Subdiv requires a smarthost for regulatory compliance, maindiv.com does not. Can we force outbound mail for subdiv.com through the smarthost but not maindiv.com so we don’t have to pay for compliance services?

  4. Kyle Kennedy says

    There is an option in the general tab of the send connector properties for “Proxy through client access server.” I understand in a split role environment, this box makes it work like 2010, ie, mail goes from mailbox to CAS and then sent out from there. However, what is the proper setting when CAS and MB are on the same server? Checked or unchecked?

  5. ajhstn says

    Hey all,

    I am in the process of migrating from EX 2010 to EX 2013. I have an existing 2010 2x dag, 2x cas environment. I have built on new servers 1x 2013 cas, and 1x 2013 mb.

    I have followed the step by step Exchange Server Deployment Assistant but cannot see it talk of mail flow anywhere. I have a single send connector in the 2010 env. I have various receive connectors. all https,http,smtp,imap and other outlook,rpc,mapi traffic go through a Riverbed Stingray Traffic Manager. My send connector routes email through a smart host.

    I have created a exchange 2013 mailbox. I can send email from 2010 to 2013, but I cannot send email from 2013 to 2010. Both farms are in the same domain, same network. They are all hyperv vm guests in the same cluster.

    The email that I try to send from the 2013 env to 2010 gets stuck in the 2013 Queue Viewer, its status is READY, it has no last error.

    Can anyone help clear this up for me? I need exchange 2010 and 2013 to coexist for a period of a few weeks, while I migrate all mailboxes, then after that I will close down exchange 2010.

    Thank you in advance.
    Andrew

    • says

      You should begin by troubleshooting SMTP connectivity from 2013 -> 2010. Try it with telnet. Check for antivirus or security products, or firewalls, or your Riverbed device, that may be interfering with the connections.

      Also look closer at the messages stuck in the queue. What is the last error? That usually gives you some hints about what the problem may be. Misconfigured Receive Connector permissions on the 2010 server is a example of where things can go wrong too, eg http://support.microsoft.com/kb/979175

  6. tricky says

    Hello Paul, you have a nice blog!
    Please give me advice:
    I just installed only 2 multy role server 2013 in two different sites. Inbound mail works fine, but I just try to create new one send connector in new site , and outbound mail flow stop working for me. If i disabe new send connector (just create it like post- internet- next- asterisk- next- my cas\mailbox in site 2 to scope)
    Annnd my mail do not go to Internet, just qued…. What I doing wrong?

  7. burt340 says

    Paul great article, is there a way to get exchange to ignore internal recipients (pre-staged for a migration) and send route messages our through a send connector?

  8. Voffka says

    Hi, Paul. Thanks for your article, its amazing, as usual :)

    the question is, like it was mentioned before,
    “Is it possible – via send connector or other means (rule perhaps) to send all mail *from* a specific internal domain through a smarthost? For example, let’s say we have two divisions and each have their own domain – joe@maindiv.com and bob@subdiv.com. Subdiv requires a smarthost for regulatory compliance, maindiv.com does not. Can we force outbound mail for subdiv.com through the smarthost but not maindiv.com so we don’t have to pay for compliance services?”

    how to route mail thru a specific edge based on user’s primary domain ?

Leave a Reply

Your email address will not be published. Required fields are marked *