No description, website, or topics provided.
C# Shell
Switch branches/tags
Nothing to show
Pull request Compare This branch is 31 commits ahead, 1015 commits behind sendgrid:master.
Latest commit 04cdb93 May 2, 2014 @robertmclaws robertmclaws - Fixes to allow for events to be re-serialized (for example, when be…
…ing used with Windows Azure Queue Storage).
Failed to load latest commit information.
Example.Console.InlineImage - Added WP8.1/Universal Apps support. Apr 29, 2014
Example.Console - Added WP8.1/Universal Apps support. Apr 29, 2014
Mail.Portable.Tests - Fixes to allow for events to be re-serialized (for example, when be… May 2, 2014
.gitignore Overhaul of the architecture and additions for Event API processing Sep 28, 2012
SendGridPlus.nuspec - Fixes to allow for events to be re-serialized (for example, when be… May 2, 2014


SendGridPlus is a client library for interacting with SendGrid's Mail and Event APIs. It is a refactored and enhanced version of the SendGrid package, and is being released because SendGrid has not kept the NuGet package in sync with their repository.

AdvancedREI has refactored this library to logically support multiple APIs, and enhanced it with Event processing, to let you easily leverage the Event API in your own code.

Quick start

Install the NuGet package: Install-Package SendGridPlus, clone the repo: git clone git://, or download the latest release.

The major differences between this and the official library is that the default namespace is now SendGrid instead of SendGridMail, and you get a new instance by calling Mail.GetInstance(); instead of SendGrid.GenerateInstance();

You can also easily get single or batched Events from an MVC controller with the following example:

public class SendGridController : Controller
    public ActionResult Index()
        var events = Events.GetEvents(Request.InputStream);
        events.ForEach(c => DoSomething(c));
        return new HttpStatusCodeResult(HttpStatusCode.OK);

If you are using the new AddUniqueIdentifiers() method on the Mail object, you can also retrieve those values by inheriting from EventData in a custom class. Just make sure the property is the same name as your identifier, and call this code instead:

var events = Events.GetEvents<YourEventDataType>(Request.InputStream); You will then get back a List of your custom objects, instead of a List<EventData>.

Bug tracker

Have a bug? Please create an issue here on GitHub that conforms with necolas's guidelines.

Twitter account

Keep up to date on announcements and more by following AdvancedREI on Twitter, @AdvancedREI.


Read more detailed announcements, discussions, and more on The AdvancedREI Dev Blog.


Robert McLaws

Copyright and license

Copyright 2012 AdvancedREI, LLC, and SendGrid, Inc.

Licensed under the MIT License. See the MIT.LICENSE file for more information.