.NET Tips and Tricks

Blog archive

Guru Tip: Sending an Email in Office 365

What I don't know about SharePoint and Office 365 is what keeps companies like Add-In Express in business. So, when, I couldn't figure out how to send an email in Office 365, I asked Andrei Smolin, a team leader at Add-In Express.

In Office 365, there's no direct way to send an email programmatically because the SPUtility.SendEmail Method isn't available in sandboxed solutions. The workaround is to use the Send an Email action in a list workflow. First, you need to create a custom list:

  1. In the Navigation pane, click Lists and Libraries
  2. On the Lists and Libraries tab, click Custom List in the New group. In the resulting dialog, enter a name and description for the list
  3. Click OK

The list should contain at least three text columns: one to store each of the email's address, subject and body. Then, create a list workflow bound to the list:

  1. Click on the File menu and select Add Item
  2. Under the Workflows tab, select List Workflow
  3. Enter a name for your workflow and select your list from the dropdown list

Add a step to the workflow that performs theSend an Email action. When setting up this action, define the email message so that it looks up the values from the columns of the current item. You can also consider adding a second step to the workflow to delete the item just processed.

At this point, you have a list and a workflow tied to it. Now, adding an item to the list will cause your workflow to send an email. You may choose to just let your user trigger sending an email by adding items to that list through the SharePoint user interface. However, you can also add an item to the list from code to trigger sending an email. Assuming your list is called SendMail and has columns called Subject, To, and Message, that's what this code fragment shows:

using Microsoft.SharePoint; 
... 
SPWeb mySite = SPContext.Current.Web; 
SPListItemCollection  listItems = mySite.Lists["SendMail"].Items; 
SPListItem item =  listItems.Add(); 
item["Subject"] =  "subject"; 
item["To"] =  "[email protected]"; 
item["Message"] =  "message"; 
item.Update(); 

Posted by Peter Vogel on 04/12/2012 at 1:16 PM


comments powered by Disqus

Featured

  • Black White Wave IMage

    Neural Regression Using PyTorch: Training

    The goal of a regression problem is to predict a single numeric value, for example, predicting the annual revenue of a new restaurant based on variables such as menu prices, number of tables, location and so on.

  • Microsoft Ships Visual Studio 2019 v16.9 Servicing Baseline Release

    Microsoft is urging enterprises and professional coders to standardize on the new Visual Studio 2019 v16.9, a servicing baseline release that's guaranteed to receive official support for an extended period.

  • Microsoft Extends Low-Code Push with Power Fx Programming Language

    "Using formulas that are already familiar to hundreds of millions of users, Power Fx allows a broad range of people to bring skills they already know to low code solutions."

  • Microsoft's Tools to Fight Solorigate Attack Are Now Open Source

    Microsoft open sourced homegrown tools it used to check its systems for code related to the recent massive breach of supply chains that the company has named Solorigate.

Upcoming Events