Recently I needed to setup incoming emails on a SharePoint 2010 site sadly, after researching this subject a lot, I was not able to find a blog that provided a complete answer of how to set this up on a Production Environment. There are some variations in the way this can be setup but the method I will be explaining in this blog involves a non-Exchange Server method.
I am assuming that:
- You have setup an SMTP server on one of your SharePoint WFE’s (Web Front End) if you are not sure on how to do this then please check out this post.
- You have a domain name registered and that you can modify the DNS records
The solution involves:
- Setting up the DNS Records
- Configuring the SMTP Server
- Configuring Central Administration
- Configuring a SharePoint List
Setting up the DNS Records
In this example I am using a domain name: http://www.shareheaven.co.uk that is registered with GoDaddy.com.
Login to your domain name’s control panel and add a DNS A (Host) record in the following format:
Where the host (‘notify’ in this example) can be anything of your liking. The IP address should be the IP address of the server that hosts the SMTP Server.
Next we need to add a DNS MX Record in the following format:
Wait for the DNS changes to take effect, you can use this website to check if the changes have taken effect.
Configuring the SMTP Server
On the SMTP Server we will need to add an alias. Open IIS 6.0 Manager > Expand your SMTP Server in the list on the left hand side > Right click on ‘Domains’ > New > Domains.
On this screen (screen shot above) select Alias and click Next and then fill it out as below (based on your domain name):
Configuring Central Administration
Next we need to setup Central Administration to enable incoming emails in our SharePoint Farm, in Central Admin browse to System Settings > Configure incoming e-mail settings and set it up as below:
Configuring a SharePoint List
Finally, we can now setup a SharePoint List to receive incoming emails. In this example I will be setting up a Document Library to receive incoming emails. Browse to Library Settings > Incoming e-mail settings of the SharePoint List you would like to setup to receive incoming emails. Fill out the form as below and click ‘OK’:
Testing the Solution
To test the solution send an email to the email address we setup to receieve incoming emails which in our example was: firstname.lastname@example.org (replace shareheaven with your domain name of course!):
Screen shot below shows the .eml file arriving in the drop folder of the SMTP Server:
A SharePoint Timer Job picks up this email, processes it and then adds an item in the Document Library:
There might be other ways of setting this up but I thought I should write about a way of achieving this by purely utilising SharePoint 2010 out-of-the-box features.
You have a document library, we will call it Documents, that has a custom Content Type (we will call it ER Documents). Based on a certain criteria, lets say 6 months after a document has been approved, you would like to archive the document by moving it to another document library called ‘ER Compliance Archived Documents’.
You have two identical document libraries setup with the same content type enabled.
The solution involves:
- Enabling the Content Organizer Feature
- Creating a Content Organizer Rule
- Configuring a ‘send to’ connection
- Configuring the Document Library
Enabling the Content Organizer Feature
On the root web of your Site Collection browse to Site Actions > Site Settings > Manage Site Features and activate the ‘Content Organizer’ Feature.
After this feature is activated you will notice two new options in Site Settings (highlighted in the screenshot below) and a new document library called ‘Drop Off Library’:
Click on ‘Content Organizer Settings’ and make a note of the Web Service URL:
Creating a Content Organizer Rule
Click on the ‘Content Organizer Rules’ link and add a new item to create a new rule and set it up as below (click on the image if it appears a bit blurred):
This rule basically specifies where and how to route the archived documents.
Configuring a ‘send to’ connection
Browse to Central Administration > General Application Settings > Configure send to connections. Select the correct Web Application and create a new send to connection by filling out the form as below pasting the Web Service URL you copied earlier:
Click on ‘Add Connection’ and then ‘OK’.
Configuring the Document Library
Browse to the main ‘Documents’ document library > Library Settings > Information management policy settings > ER Documents (this is our content type) > Check ‘Enable Retention’ and fill the form out as below:
Testing the solution
Add a document that matches the archiving criteria (i.e. Approval Date more than 6 months ago).
Go to Central Administration > Monitoring > Review job definitions > select your Web Application and manually run the ‘Information management policy’ timer job. This job process and marks the documents, that match the criteria we have setup, for transfer. After the job has completed manually run the ‘Expiration policy’ timer job this timer job does the actual transfer of the marked documents.
After this the relevant documents that match the Information management policy criteria will be moved to the archived library.
You can also test this manually by browsing to the ‘Documents’ document library> Accessing the context menu > Send to > ER Compliance Archive (screenshot below).
The document should then appear in the archive document library. Please note that the manual send to method moves the document immediately but it is a useful way of testing whether you have configured the routing correctly.