Thursday, July 1, 2010

Incoming Email Enabled Libraries in MOSS2007 RTM using Exchange 2003 in an Active Directory Domain

How to configure Incoming Email Enabled Libraries in MOSS2007 RTM using Exchange 2003 in an Active Directory Domain.

This ‘How to’ guide will take you through installing and configuring your MOSS2007 environment for libraries to receive incoming e-mail using a standard e-mail address that can be used both internally and externally.
If you are interested in setting up incoming mail on Exchange 2007 then download my other whitepaper on the Combined Knowledge website http://www.combined-knowledge.com/Downloads%202007.htm
If you would like see some information on using Incoming E-Mail without using AD and Exchange refer to Todd Klindt’s post here http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=31
My server topology for this guide was as follows
Server Name
Role
Products Installed
Rootdc
Domain Controller
DNS Server
Exchange Server
Windows server 2003 SP1
Exchange Server 2003 SP1
SQL
Database server
SQL 2000 SP4
MOSS2007
MOSS2007 Server
MOSS2007 Enterprise
My internal domain name configured for the Active Directory is trainsbydave.com
You will need to replace trainsbydave.com with your own testing domain name
Troubleshooting – See the section at the end of the document
** updated April 2007 **
** updated July 2007 **
** updated November 2007 **
**updated May 2008 **
Step 1 – Let’s get the Active Directory Ready.
When you E-Mail enable a library in a site it will create a new contact in the OU we specify for the AD. Therefore it makes sense to have an OU dedicated to MOSS2007 list e-mail addresses.
On a Domain Controller Open Active Directory Users and Computers in the administration tools and create a new Organizational Unit under your main domain name. In my case I used the OU name sharepointdl in the domain trainsbydave.com
At this point we can new delegate control to the Central Administration Application Pool account to have Write access to the OU.
1. Right Click on the OU and click Delegate control
Add an MX record in DNS for the Moss Server.
Note – It is the account configured as the SharePoint Central Administration Application Pool in IIS that created the contact object in Active Directory, make sure this account his write access to the OU.
2. Click Next on the Wizard
3. Click Add to select the Central Admin Service Account from AD
4. Click Next
5. Tick ‘Create a Custom Task to Delegate’
6. Click Next
7. Accept the default setting for the next page
8. Click next
9. In the permissions box select Read, Write & Create all Child objects
10. Click Next
11. Click Finish
On the domain controller open DNS manager in the administrator tools. In DNS manager right click on your domain name and create a new MX record for your Moss server – moss2007, and point it to your moss server.
Ie. moss2007.trainsbydave.com
See Picture example on the next page
Step 2 – install the SMTP service on the MOSS 2007 Server
A) Add/Remove Programs, Windows Components, Application Server, IIS, SMTP Service
B) Configure SMTP Server to except relaying from the domain exchange server
a. Start, Administrative Tools, Internet Information Services
b. Right click on Properties of Default SMTP Virtual Server
c. Click the Access Tab, Relay. Add the IP address of the servers that can relay through this server. In my case this was the Exchange server in my domain
d. Click Ok, Ok, and Apply
OK so we now have an SMTP service running on the MOSS2007 server. We now need to configure the incoming e-mail settings on the MOSS 2007 server.
Step 3 – Configuring incoming e-mail settings in central administration
Open MOSS2007 Central Administration and click on the Operations Tab
Click Incoming E-Mail
On the incoming mail page we are now going to configure the page to use the Directory Management Service and configure this service to use the Organizational unit that we created earlier in order to create the new contact objects.
A) Click Yes to enable incoming mail and the settings mode on Automatic
B) In the Directory Management Service (DirMan) section select Yes to use the DirMan service.
1. In the Active Directory Field type the name of your Organizational unit that we created earlier. In my case this would be OU=sharepointdl,DC=trainsbydave,DC=com.
2. In the SMTP mail server field type the name of your moss server tat has the SMTP server installed. In my case this was the moss2007 server so the mail server address is moss2007.trainsbydave.com
3. Leave the default to Yes for Accepting messages from authenticated users only if you wish to use incoming mail for trusted senders only.
Note - If you are sending mail to the Moss Server from multiple locations and various account types then you may be need to enable No for incoming mail to work.
Allow Creation of distribution groups. If you want to allow Site Administrators to create E-Mail enabled distribution groups in Active Directory for their Site Groups then leave the default to yes and then select the approval setting for the DirMan service. By using approval the Site Administrator may be able to create a mail address for the Site Group but until a farm Administrator approves the new group it will not be created in AD.
To Approve the Site Groups mail enabled distribution group go the SharePoint Central Administration – Operations – Topology and Services – Approve/ Reject Distribution Groups.
If you select Advanced you are given the opportunity at the bottom of this page to specify which folder location will be used for the incoming mail drop folder. By default the drop folder will be the one used by the SMTP service which is located at C:\InetPub\Mailroot\Drop
Once mail is sent to this drop folder by the SMTP mail flow process then it is the responsibility of the SharePoint Timer Service to pick the mail up and distribute it to the correct List or Library.
Type the name of the mail domain that you wish to use with all new List or Libraries that are mail enabled in SharePoint sites associated with this SharePoint Farm. IE @moss2007.trainsbydave.com or @trainsbydave.com.
In my case I have used moss2007.trainsbydave.com which means when the contact object is created in Active Directory it will have a default SMTP alias of contact@moss2007.trainsbydave.com. However depending on how your mail routing is configured you may need to add the local SMTP address for the domain to the contact after the object is created is created in active Directory.
See later in this White Paper to see how to do this.
Finally choose which mail servers are allowed to route mail through this server. If you have a dedicated SMTP routing server in your organization then you could secure the mail traffic by specifying only the IP address here of your internal server. If you are not sure then the default to accept from all mail servers or speak with your mail server Admin.
When complete Click OK.
** Note ** If using a safe e-mail server you must use its IP address not an FQDN. If using an FQDN you may see the following error :
** If you receive any errors after clicking ok check the event logs on both the Domain controller and the Moss server to see what may be causing the problem. Most errors in this page are due to incorrect locations for the Organizational Unit specified in the Directory Management Service section. **
Step 4 – Creating a mail enabled document library in a team site
Now we have configured the Central administration side in MOSS 2007 we can create a new list and configure it to accept incoming e-mail. In my example I am going to create a document library and mail enable it to receive incoming mail.
I am going to call this document library fanmail as it will receive incoming mail messages sent to fanmail@moss2007.trainsbydave.com.
Browse to your team site and create a new library. – new document library
When creating the document library select ‘Yes’ for enable this document library to receive e-mail.
Add the e-mail address we are going to use in this case fanmail
Click Create
Set the email settings for the document library in the team site
Although we have mail enabled the library there are still a few settings that we need to decide on for the mail sent to this library.
1. Open the document library we have just created
2. Click Settings – document library settings
3. Under Communication Settings click E-Mail Settings
The settings in the library are all optional but for my test I am going to save all the attachments in the library plus I am going to keep a copy of the mail message in the library as well.
4. In the E-Mail Message Section Select Yes for save original e-mail
5. In the E-Mail Security section Select Yes to Accept e-mail messages from any sender
6. Click OK
If you choose to use the document library permissions for e-mail then only senders with add rights to the library can send mail to the library.
Step 5 – Managing the contacts created in Active Directory
Shortly after the document library has been created and mail enabled a new contact should appear automatically in the OU in Active Directory. This was the job of the directory management service to do this. (DIRMAN)
The default e-mail address will be fanmail@MOSS2007.trainsbydave.com as this is what we configured the mail addresses to be in MOSS2007 central administration – operations – incoming e-mail settings earlier in this document. This is fine for internal mail but if I wanted to have external fans from all over the world mail the library so I need to use a global company address. I.e.fanmail@trainsbydave.com.
I have two options to manage this.
Option 1 – Go into the properties of this contact and add a new SMTP mail address under the e-mail addresses tab for @trainsbydave.com. You will have to do this for each contact created
Option 2 – Create a new Exchange Server Global recipient policy so that all contacts created in that OU
Automatically get the second mail address added.
I have used Option 1 and edited the fanmail contact and added the @trainsbydave.com SMTP address. Now my contact can receive e-mail address to both SMTP addresses with the primary configured as fanmail@MOSS2007.trainsbydave.com
It may be necessary for some companies that you need to also add a new SMTP connector to your Exchange system in order to force all mail destined for the address space moss2007.trainsbydave.com to the IP address of the Moss2007 server that is hosting the local SMTP service that we installed and configured earlier. In my case this was not needed as I do not have a complex mail routing system.
Step 6 – Testing the solution
Let’s open Outlook now as a client and send a mail to fanmail address and follow its progress to appearing the document library
In my testing I am using Outlook web access rather than Outlook but the result is the same.
After sending the mail you can monitor the C:\Inetpub\mailroot\drop folder to see when WSS picks up the message.
Make sure that the SP Timer service is running on the MOSS2007 server as this server will be responsible for taking the mail from the Drop folder and putting it in the Document library.
After a short time the mail will appear in the drop folder configured earlier in Central administration – operations – incoming e-mail settings
Finally once the SPTimer service picks up the message it will disappear from the drop folder and the item will be created in the list.
Ensure that the SPTimer Service account can also delete objects from the chosen drop folder location. If it cannot then you may find that you get duplicate E-Mails.
Thanks to Chris Jones for this tip
Troubleshooting
Thanks for this list also go to Todd Klindt http://www.toddklindt.com/blog/default.aspx ( SharePoint MVP ) Mat Chase , Chris Jones , Ben Torrey and others in the community for providing some of these troubleshooting tips that helped them when they had problems in their own environments. This list does not mean you need to do all of them; they are suggestions to try in case you run into problems. All configurations are different and it is impossible for me to know how you have built your SharePoint up.
* Ensure that the Central Administration Application pool account and the SharePoint Timer Service account are using the same service account. THIS ONE IS IMPORTANT. A lot of errors stem from these accounts not being the same DOMAIN service account.
* Make sure the above account has access rights to all files on the server used by incoming mail such as the sharepointemailws.asmx file on the Moss server that is receiving the incoming mails. Alternatively make these accounts local administrators on the web servers receiving the incoming mail
* Make sure the app pool account for the web application you are trying to mail enable is running as the MOSS Administrator account you are running Central Administration under.
* Grant rights to the OU you have created in AD to the app pool account you setup.
* Create a SMTP send connector in Exchange to deliver mail to machine.domain.name where your MOSS SMTP service is running.
* Make sure the account that is running the SharePoint Timer Service has delete rights to the drop folder or you will receive duplicate E-Mails
* When using Outlook 2003 may need to send the attachment as a Uuencode or Binhex format in order to get the attachment listed separately in the List or Library. Also see this MS article for another workaround for adding two attributes to the contact in AD
http://support.microsoft.com/default.aspx?scid=kb;en-us;926891
* If you have installed Forefront security for SharePoint then you may encounter a problem where the E-Mail will arrive in the drop folder and then disappear without reaching the document library. This MS article explains the way to fix this. http://support.microsoft.com/kb/934285
* If you have used permissions on the document library to control who can send the process is based on the header of the E-Mail , it is then checked against the users who have rights to the list or library.
* If you see content in the document library that is assigned to the system account it means that the document library has treated the incoming mail as an anonymous users due to not be able to resolve the name in the list of users with rights to submit mail. You will have to allow the library to accept mail from all senders to see this.
* When sending to a calendar list to be sent correctly send as a .vcf file from a new appointment or meeting request in Outlook
Troubleshooting - continued
* If you try and setup a workflow on the mail as it arrives in the library and it fails make sure that the Timer Service and the Central Admin Application pool account are using the same Domain service account.
* When supporting multiple SMTP domains make sure that you add these domains to the SMTP domains in the SMTP settings on the Moss Server hosting the SMTP service. SharePoint can support external domain names as long as the domains are supported by the mail routing topology and also the Moss servers SMTP domain name listing.
I hope you found this article useful , please do feel free to send me comments and keep checking our web site for more downloads on configuring some of the cool new features of Moss2007.
Steve@combined-knowledge.com

No comments:

Post a Comment