Today we continue down our journey in setting up our SharePoint 2010 farm, with the focus on configuring incoming email for SharePoint 2010. When SharePoint 2007 was released, there was a lot of discussion and rumors around Exchange 2007 being the last version of Exchange to provide Public Folder support, and that SharePoint 2007 was going to be it’s alternative. Microsoft quickly changed its stance and continues to support Public folders in Exchange 2010. However, there still might be a number of compelling reasons why you would want to consider storing incoming email messages in SharePoint 2010 document libraries, instead of public folders. You can read more about the benefits of using email-enabled SharePoint libraries in one of my article’s here.

In today’s post, I will provide you with a comprehensive step by step guide in configuring your SharePoint 2010 server in conjunction with Exchange 2010, to provide successful delivery of incoming email directly to your SharePoint Web Applications.

The environment

This article builds on the SharePoint Farm setup that I have documented here. It consists of the following servers which would form a common basis in most large organizations.

Windows 2008 R2 server running Active Directory Domain Services

Windows 2008 R2 server running SQL 2008 R2

Windows 2008 R2 server running SharePoint 2010 RTM

Windows 2008 R2 server running Exchange 2010 RTM

Windows 7 client running Office 2010 RTM

The SMTP service

SharePoint 2010 is reliant on the SMTP service which is a Windows 2008 feature and we must install this on our SharePoint 2010 front-end web server.

Navigate to your Start Menu / Administrative Tools / Server Manager. Click on the Features node and select Add Feature. Scroll down and select SMTP Server and click on Add Required Role Services.

Click Next, Next and Install.

Click Close

We now need to install the II 6.0 Management Tools on our Windows 2008 R2 server in order to configure our SMTP service. If IIS 6.0 Manager is not already installed you must do so via, Start / Administrative Tools / Server Manager. Click on the Roles node and select Role / Add Role Services. Then select Management Tools and IIS 6 Management compatibility. Click Install.

We can now launch the IIS 6 Manager via Start / Administrative Tools.

Right click on SMTP Virtual Server #1 and select properties.

Under the General tab, I have enabled logging and encourage doing so at the start in the event we need to do some troubleshooting. You can turn logging off after successful testing.

Click on the next tab, “Access”.

Click on “Authentication” and ensure that Anonymous access is selected.

Next, click on “Connection” and ensure “All except the list below” is selected.

Finally, click on “Relay”, and ensure that “Only the list below” is selected and that “Allow all computers which successfully authenticate to relay, regardless of the list above” is also checked.

Now click on the Messages Tab and make any necessary adjustments that you see fit, such as potentially increasing the message size to allow for the delivery of larger emails with attachments into your SharePoint Libraries and Lists.

Next click on the Delivery Tab in which I normally leave all the defaults in place.

We can skip the LDAP routing tab as there are no settings required to be configured in this area.

Lastly, the Security tab should list the default permissions as per the below. No changes are necessary in this area.

We next journey into the “Domains” are within IIS 6 Manager and a domain name should be listed, which by default is the fully qualified domain name of the machine.

Right click on the Domain Name and select properties and take note of the Drop directory.

Finally, we now just need to confirm that our SMTP service is set to start automatically in the event the server is restarted. I can tell you now that the service is by default set to Manual.

Venture into Start / Administrative Tools / Services.

Scroll down your list of services and ensure that the Simple Mail Transfer Protocol (SMTP) is set to Start-up type, Automatic.

We have now completed the configuration of our SMTP service on our SharePoint Server.

Exchange 2007/2010 Connectors

Part two of the implementation of configuring incoming email in SharePoint is to configure our connectors in Microsoft Exchange. Now even though this is not a requirement, most organisations running SharePoint 2010 or 2007 will also be running a recent version of Microsoft Exchange, hopefully either 2007 or 2010. Exchange 2010 or 2007 will provide you with that extra layer of protection ensuring that all the necessary message hygiene has been performed via its inbuilt Anti Spam Agents on the Edge or Hub Transport Server in conjunction with some form of email antivirus such as Microsoft’s Forefront for Exchange, before the message is delivered to the SharePoint 2010 List or Library.

My instructions and screen captures below are from an Exchange 2010 server which are pretty much identical and applicable to Exchange 2007.

Type in a descriptive name for your Send Connector and then select Internal as the type.

Click Add and enter the Address space as the fully qualified domain name of the server where the SMTP service is installed (i.e. your SharePoint Server)

Click Next

Enter the IP address of the server which also hosts the SMTP service.

Click Next

Select “None” as your smart host authentication settings

Click Next

Ensure your Hub Transport Server has been added.

Click Next

Click New and then click Finish

The end result will be that the Send connector will route email to the SMTP service sitting on our SharePoint Server.

The Directory Management Service

SharePoint 2010 allows you to leverage Active Directory Domain Services (AD DS) so that contacts that are created when you email enable document libraries or lists are stored in a designated Organizational Unit within your AD DS infrastructure. So why would you want to enable Directory Management Service? Purely for the fact that by storing these contacts in AD, you are allowing your users to locate email enabled libraries and lists easily from within their Outlook Address book.

Right click on your domain object and select New / Organizational Unit

Type in a descriptive name

Click Ok.

The next step is imperative and very important that we get this right. I have seen on many occasions where incorrect permissions were applied and all sorts of problems were encountered when libraries or list were email enabled.

In summary, we need to provide our Central Administration Application pool identity account specific permissions to our recently created Organizational Unit to be used for creating and deleting contacts for our SharePoint 2010 libraries and lists when they are either email enabled or email disabled.

Right click on the recently created Organizational Unit and click on Delegate Control. This will invoke the Delegation of Control Wizard.

Click Next.

We will now add the Central Administration application pool account which you can confirm from IIS Manager as per the below screen capture.

Add the necessary Account.

Click Next.

Click Create a custom task to delegate.

Click Next

Click “This folder, existing objects in this folder, and creation of new objects in this folder’.

Click Next

Click on Create All Child Objects and Delete All Child Objects.

Click Finish.

Before we finish off our configuration of AD DS and the Directory Management Service we need to provide our Central Administration application pool account with Delete Subtree permissions.

We need to ensure that “Advanced Features” from within Active Directory Users and Computers (ADUC) is active before we venture into the security tab of our SharePoint organizational unit. If you do not enable Advanced Features, the security tab will not be visible.

Ensure that your SMTP server details are correct, this should be the fully qualified domain name of your SMTP service that was installed on your SharePoint Server.

Finally, ensure “Accept mail from all e-mail servers” is selected.

Click OK.

Please note that this process will configure the necessary permissions on the email drop folder listed in IIS 6 Manager. In summary, the following permissions are added;

WSS_Admin_WPG – Full Control and

WSS_WPG – Read & Execute / List folder Contents / Read

Ensure that these accounts are added successfully and on the rare occasion in which it isn’t, you will need to add them manually.

Testing the configuration

From within any document library or list, click on Library / Library Settings.

Click on Incoming e-mail settings.

Select “Yes” to allow this document library to receive e-mail.

Select your email attachment options and ensure that Save original e-mail is set to Yes.

Lastly, ensure that you Accept e-mail messages from any sender is selected.

Click OK.

This is your first step to ensure that all of the above configuration is in place. If you do receive an error, it’s most likely going to be permissions related against your Organizational Unit, i.e. SharePoint may not have the privilege to add the contact in Active Directory.

Let’s navigate back to ADUC and confirm that our “testing” contact is created under the SharePoint 2010 Contacts Organizational Unit.

Let’s next navigate to our Exchange 2010 server and ensure it is also listed there with an SMTP address against it.

Navigate to your recently email enabled document library and hopefully after a couple of minutes (SharePoint Job timer service delay) you should have received your test email.

Well! That’s all that is to it, from start to finish. Apart from sending a test email, there are a couple of other scenarios that you should test to ensure complete seamless integration with the SharePoint 2010 Directory Management Service. Within the same document library, modify the email address to something different and ensure that this change also flows through to Active Directory. You should also try disabling incoming email from that same library and ensure that the contact is completely removed from Active Directory. If you pass all of these tests scenarios, then we are comfortable in knowing that the correct delegation was provided to our Central Administration Pool Account against our SharePoint Contacts Organizational Unit.

I hope you have found this step by step guide in configuring incoming email in SharePoint 2010 with Exchange useful, so stay tuned as we continue our journey in configuring our SharePoint 2010 Farm.

i dont have exchange server , we are having linux based mail server.
so how to configure incoming email in sharepoint 2010 .
in sharepoint central administration under system settings/manage server in farm
it is showing mail.server not configured. how to configure that

DDunne

I already have outgoing email configured to use my exchange server as my SMTP server. Can I then use this config to use the native smtp on the WFE to receive incoming email?

Amin

if i have MX record with Valid Public IP, still this method work?

BobChauvin

Has anyone posted messages with embedded images that then display accurately in a blog that is set to receive emails?

Bart Verhelst

Have you had a solution on this i have the same problem… thanks:
my email: bart@itprovider.be and phone: +32473861965

http://twitter.com/dirkloehn Dirk Löhn

We’ve been using this great article a lot to help clients set up their exchange server, great article that I’m recommending to everybody with that configuration. Now we have a client using Exchange 2003 with SharePoint 2010. Is there any such list of comprehensive instructions to set up Exchange 2003 you would know of?
Thanks a lot
Dirk Loehn

Faizel Mootheril

George, Thanks for this great step by step guide. This was very helpful.

Krzyzaniak

Wow, this is a very good and detailed information, mush thanks of sharing this document.

Ben

Great article- worked like a champ for my SharePoint 2010 and Exchange 2010 environment. Thanks much! Ben

Kelly

Hi, I appreciate this information, very helpful for setup. I have a question regarding setting up the email to post directly to a list. What I want to do is create an email form in an Outlook Client with the list fields and have Sharepoint capture this data in a List. Is that the appropriate way to do this?

ABI

Awesome post. worked like a charm in one go.

exQuisite

Going to see if this works this week…definitely seems like good information. Thanks and will let you know the results…

satish

Hi Everyone,
I got a different Error for my mail configuration in my sharepoint sever, see the below scenario.
1.I have an exchange server 2010
2.I have my own sharepoint2010 server also.

3. As per your instructions I configured everything, but the problem is whenever I am sending mail from outlook to sharepoint library it is taking two days of time, I dont know why it is taking this much time .
Example: satish@sp.com to Maillist@important.sp.com
Note: outlook to outlook it is going immediately with in a minute.
*** I hope you guys have a solution for this ***
…Please do the needful…
Thanks & Regards,
Satish

satish

Hi exQuisit,
I got a different Error for my mail configuration in my sharepoint sever, see the below scenario.
1.I have an exchange server 2010
2.I have my own sharepoint2010 server also.
3. As per your instructions I configured everything, but the problem is whenever I am sending mail from outlook to sharepoint library it is taking two days of time, I dont know why it is taking this much time .
Example: satish@sp.com to Maillist@important.sp.com
Note: outlook to outlook it is going immediately with in a minute.
*** I hope you guys have a solution for this ***
…Please do the needful…
Thanks & Regards,
Satish

Olafur

These instructions are perfect. I configured this without any errors.

Danny

Hi, I am running Exchange 2010 on my development SharePoint server. Do I need to install SMTP service? Can’t I just use Exchange only?

http://www.sharepointgeorge.com/ George Khalil

Hi Danny, the SMTP service is required for incoming email.

Dani S

Hi,
My scenario is a little bit different so I need some help. We have a dedicated environment for Sharepoint with their on DC, but without an exchange. There is a partner who will work in a project with us and need to send emails to this site. How may I set this? Because the SMTP service is online, I can telnet it but no messages are comming. Is it possible this kind of scenario?