As the release of SharePoint v3 grows closer, I find myself constantly thinking of new ways to leverage its new features. There are so many great things coming it is tough to decide where to focus. Recently I started playing with the new feature of Incoming Email. In a nutshell, this feature allows you to add content to libraries and lists in SharePoint v3 via email. Microsoft is positioning SharePoint to be the Exchange Public Folder replacement, and this feature is the beginning of that. There is not much documentation about it out there yet, so I thought I would poke around with it, take some notes, and share them with you guys.
The first thing I did was start searching around on the Internet for information on enabling and configuring Incoming Email. I did find one stupendous white paper from the guys at Combined Knowledge. You can download it here. Go ahead and download it now and read it. This blog post will be based off of things I learned after reading it.
After I read through that white paper I got to work setting things up. After I enabled SMTP on my WSS server I enabled logging on the SMTP virtual server. The logs do not take up much space, nor do they require a lot of processing power. They are invaluable when troubleshooting, and I found that I used them a lot in the writing of this blog. SharePoint does not seem to log Incoming Email events, so your SMTP logs are all you have. I would also recommend enabling all the columns for the log file.
If you read through the Combined Knowledge white paper you will see they create an Organization Unit (OU) for SharePoint to use. It places Contacts for the libraries that are email enabled there, making it easier for users to find them in Outlook. This step is nice, but it is not strictly necessary. Incoming Email will work fine without this. This is important to know if the SharePoint team is not able to get the AD team to create OUs for them, or if they just want to test this feature without modifying the AD at all. If you choice to go this route you can leave the setting at "Operations > Active Directory Settings for E-Mail Web Service" blank. You will also want to set "Connect to a SharePoint Directory Management Server" to 'No' under "Operations > Incoming E-Mail Settings." The only difference you will notice is that contacts will not be created for your lists in AD. They will still receive email just fine, you will just need to know the address.
Once you get some get some lists and libraries enabled you will want to start sending them emails. There are several settings to set when you enable Incoming Email. If you do not choose to use the list security users outside of your AD will be able to email content to your lists and libraries. This can be handy for Internet facing sites. When email comes in from an email address that is not associated with a user in your AD, they will show up as added by "System Account." You can determine the originating email address by viewing the properties of the item and clicking "form email." Since there is no account to associate the email with, they are handled as if they were submitted by an anonymous user. Because of this, they face the same restrictions. They are able to submit items to lists, like Discussion Lists, but they are not able to submit documents to document libraries or picture libraries.
When you enable incoming email for libraries you have three options to handle where documents are saved. First, you can choose to have the documents saved in the root of the folder. Second, you can have the documents saved into a folder based on the sender's email address. A folder is created automatically the first time a user emails the library and all subsequent emails are saved there. The folders take the form of "John Q. Public (john@example.com)." Finally you can have the documents saved in folders based on the Subject line of the email, regardless of who sends it. This options has one gotcha, emails with no subject appear to be disregarded. This is one place that SMTP logs came in handy. When I was experimenting with this I could tell the emails were getting to the WSS server by the SMTP logs, and were getting picked up, but did not show up in the document library. As there is no documentation on this, it was tough to troubleshoot. The SMTP logs helped fill in the gaps.
There are many lists and libraries that cannot receive Incoming Email. Here is a short list: Links lists, Wikis, Blog categories, Blog comments, Surveys, Tasks, Project Tasks and Contacts. It is easy to determine whether a list or library supports this by whether the option shows up. If it is available, it will show up under Communications with RSS in the settings for that list or library.
I hope this blog entry has gotten you as excited about Incoming Email as I am. Let me know if you have any questions.
tk