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 ?

  9. wale says

    Hi Paul,

    I have a new exchange 2013 installation, I have configured a send connector and I still cannot send mail to myself on the same network domain.

    I am testing by sending a mail to administrator internally, but mail always got stuk and never received, so i could not figure out what the problem is, Kindly assist. I have ISA Sever 2006 on my network as firewall. I have allow everything but yet can not recieved email internally and the exchange was properly installed.

    • says

      You’re trying to send between two mailboxes that are on the same server? Neither the send connector nor the ISA firewall should have any impact on that. I would say its more likely the messages are stuck in a queue (you can run Get-Queue to see the queues), or your transport services aren’t running at all (check Services.msc).

  10. Luis Henriques says

    Hi Paul,

    We are configuring a new exchange 2013 installation.
    We have 2 AD sites, both with access to internet and with an mpls connection between both.
    We are installing an Exchange 2013 DAG with 2 nodes, with one node in one site and the other node in the second site.
    We don’t have load balancers.

    Can we configure Exchange, with site resilience, so that when one server fails, mail flow could be assured by the other server (both send and receive mails)?

    Regards,

    Luis

  11. Alice says

    I have installed an Exch2013 server into an Exch2007 org and am in the process of moving mailboxes to the ex2013 server.

    I have a send connector configured from each mail server to a smart host (McAfee MEG). All external mail travels thru the MEG.

    I also have a Barracuda Message Archiver that currently pulls messages from an Ex2007 journaling mailbox. With the migration to the ex2013 server, Barracuda is recommending going to SMTP Journaling, which requires creating a send connector on the ex2013 server.

    My question is would there be a conflict between the send connector for the MEG & the Send Connector for the Barracuda? The Address Space for the Barracuda connector is a specific fake domain, where the Address Space for the MEG connector is *.

    Thanks

    • says

      I’m not familiar with how Baracuda’s system works, so I would recommend you ask them.

      Generally speaking an email is going to traverse one Send Connector on its way out of your org. So if it goes out via the McAfee, I can’t imagine how it will also manage to go out via the Barracuda connector.

  12. AJ says

    Why would I want to use a smarthost? What is the typical situation pro/con of using just the MX record option vs. using the Smarthost option?

    • says

      The smarthost could be an email security appliance that all your outbound email is routing through, or a cloud-hosted email security service.

      The smarthost could be a separate internal system that has no MX records but still needs to receive emails.

      There’s no particular pros/cons to describe, it’s a case of meeting some business or technical requirement.

  13. mk says

    Paul,

    I love your articles – I’ve been using the for years!

    Question regarding configuring the FQDN for HELO/EHLO on a send connector. How is this done on Exchange 2013? Can this also be done for the receive connector?

    Thanks,
    Michael

  14. mk says

    As of now, for Exchange 2013, it appears that it can only be done via command:

    Set-SendConnector -Identity “” -Fqdn

    For example:
    Set-SendConnector -Identity “Outgoing Internet Mail” -Fqdn mail.yourdomain.com

    mk

Leave a Reply

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