For many years, users of SharePoint have enjoyed a handy feature known as “Incoming Email”. This feature allows for assigning email addresses to SharePoint lists. Emails sent to the assigned email address will process to the list associated to that email address. However, as organizations begin to migrate to Office 365 they are left with the dilemma of whether to seek alternatives or abandon this functionality all together. Why you ask? This is because the incoming email feature is no longer available in SharePoint Online out of the box.
Why is the feature not available in SharePoint Online?
To answer this question, one must first learn how the on-premises “Incoming Email” feature works. Figure 1-1 below shows the typical flow of an incoming email into SharePoint
- The User sends the email to an address like firstname.lastname@example.org
- The mail server forwards that email on to an SMTP server that is set up for the SharePoint Farm.
- Once this SMTP server receives the email, it places it in a drop folder.
- The incoming email timer job runs on a schedule to read in email messages in this folder and process them to the list that matches the email address the message was sent to.
Figure 1-2 below shows one of the reasons why this feature does not work in SharePoint Online
- SharePoint Online restricts users to Site collection or below. No more farm level access exists for your SharePoint site. This means the farm level timer jobs and configuration settings that used to take care of this processing no longer exist.
- Since these settings do not exist on the back-end, they have also been removed from the front-end list settings as well.
What are my Options?
Now that we covered reasons why this feature is not available out of the box, we need to address what can be done about it. In this void of having a solution to for this feature, many players have showed up on the scene. Below I have listed some of the options, and the advantages and disadvantages to each.
Option 1: Site Mailboxes (This is no more an option as SPO deprecated Site Mailbox feature as of July 2017)
This option allows for setting up an Exchange mailbox used to collaborate between team members. Emails can be sent to the mailbox to be shared among team members.
- Allows end users to create these mailboxes from the SharePoint online ‘Add an app’ page.
- Permissions set on the SharePoint site are also applied to the mailbox.
- Only one mailbox can be created per site.
- Mail and documents do not live in SharePoint. Data is accessed through Outlook Web Access.
- Site Mailbox is chosen for you based on the SharePoint site name.
- Cannot set up event receivers or workflows on the data.
- Documents and emails are opened in outlook web access, and not SharePoint.
Option 2: Office 365 Groups
Uses the Office 365 group functionality to set up a shared work space for collaboration.
- A collaboration space is created to share documents, calendars, conversations.
- Feature is integrated with your OneDrive for Business site.
- Every group creates a new hidden site collection.
- No workflow options.
Option 3: Azure Logic Apps
Azure Logic Apps can be used to set up connectors between an Office 365 mailbox and a SharePoint list.
- Processes email within a mailbox to the associated SharePoint list.
- Must have an Azure subscription.
- Must pay licensing fee for Logic Apps.
- Requires setting up a new user and mailbox for each list (requires user to be licensed for Exchange Online and SharePoint Online).
Option 4: Microsoft Flow
Microsoft Flow is a feature offered in Office 365 to allow processing email messages in Office 365 to SharePoint libraries.
- Can process email attachments from an Office 365 mailbox into SharePoint.
- Can configure to use one mailbox to process to many different lists.
- Requires setting up a user to go with a mailbox in Office 365 (requires user to be licensed for Exchange Online and SharePoint Online).
- Only has template for email attachment. No current offering to save the email itself.
- Additional cost per user for Microsoft Flow Licensing.
Option 5: 3rd Party Paid Apps
There are many 3rd party paid apps out there that offer similar or replace this out of the box functionality.
- Usually moderately priced.
- Offers functionality similar in nature to the out of the box solution.
- Some of the major players charge based on the number of emails processed.
- Most also require a mailbox per list to be processed (would require licensing each mailbox)
Option 6: Custom Code
By writing custom code to replace this functionality, you are provided with a customized solution for processing these emails.
- Custom solution.
- Can use existing infrastructure.
- Ability to configure the polling schedule.
- No need for extra licensing.
- Users allowed to configure the list settings.
- Requires an existing SMTP server and a asp.net server for the process to function.