Problem definition

1. Our corporate email platform is Exchange Online, a MSCloud service. 

2. Our SharePoint (SP) servers are cloud based but are not hosted at a MSCloud service.
3. I need to setup SP to send automatic email notifications when changes occur. 
4. SP Administration allows the email notifications configuration only with SMTP servers set for Anonymous access.
5. Exchange Online provides an SMTP host but only works with authenticated access.

I can’t seem to successfully relay emails from SharePoint using the SMTP provided by Exchange Online.

Solution in a Nutshell 

1. SharePoint should use a local SMTP server.
2. The local SMTP server should be configured to relay to Exchange Online using authentication and correct ports.
3. Exchange Online should be configured to accept messages from your IP Range.

Before you go forward

1. The solution has been tested with: SharePoint Foundation 2010 and Windows Server 2008 R2 within a development environment.

1ST: Local SMTP & SharePoint

1. Open the Server Manager, I normally right click over “Computer” and select the “Manage” option.

2. Select “Features” on the Server Manager window and confirm that the SMTP Server is installed. If not select the “Add feature” option. I will assume you have it installed.

3. In order to configure the SMTP Server you will need to open the IIS 6.0 Manager. I know you are using IIS 7, butyou will be opening the IIS 6 Management Console (installed when installing the SMTP Server feature). Open it.

4. Right click on the Virtual Server and select “Properties”. There find the name of the Fully-qualified domain name.

5. Open the SharePoint Central Administration, go to the “System Settings” section and click on the “Configure outgoing email settings” link.

6. Fill the form using first the FQDN you found on the step 4 and then fill the email address you will use to send the notifications. This email is the one hosted on Exchange Online.

2ND: SMTP Server settings

1. Open the SMTP properties (like the step 4 above).
2. Be sure that the section of IP Address says (All unassigned) and then click the “Advanced” button. Confirm that the port is 25.

3. On the tab “Access” click on the “Relay” button and add the IP addresses used by your network interfaces. (An ipconfig command on the command prompt would help).

4. Click on the “Outbound security” button on the “Delivery” tab. Be sure to select “Basic Authentication” and provide the correct credentials for the account specified before on the SP Central Administration (step 5 above). Then select the “TLS encryption” box and Ok to accept the changes.

5. From the same “Delivery” tab click on the “Outbound connections…” button. There modify the TCP port to 587.

6. From the same “Delivery” tab click on the “Advanced” button.

-          There check that the FQDN is the same than the one set on your SMTP.

-          The smart host is set to: There is a list of other smart hosts available for different geographical areas.

-          Be sure that the “Attempt direct delivery before sending to smart host” check box is not marked.

3RD: Exchange Online should be ready to accept communications from your SMTP

1. Go to the page and authenticate with your administrative credentials.

2. Select Exchange Online from the “Service Settings” tab.

3. On the “Safe senders” section you can add new Safe senders be specifying domains or IPs. In this case you should add the public IPs (normally one) that your SP box uses.

After all this is done I would advise you to restart the SMTP and IIS services.

Now you are free to start setting up some email notifications on your SP sites. Just be sure that your user accounts have email addresses assigned.