Author: Tom McClean
Updated: 27 Jul 2016 22:58
When you develop a lot of websites, you find that a lot of the code you implement every time is the same between each project. The bespoke code you write for each website is actually a smaller portion of the overall code.
To save a lot of time and effort you build a reliance on third party services which do some of the work you don't want to (or can't feasibly or economically) do yourself. SendGrid is one of those services who I have become reliant on.
Before I talk too much about what SendGrid is, I wanted to cover my background in using it. I have been using SendGrid for about 12 months on the free tier; I haven't actually paid a penny for it yet. I wanted to write this article simply to highlight a tool I value a lot, I haven't been asked (or paid) to write this post.
What is SendGrid?
SendGrid is a service which enables you to send vast volumes of email efficiently and pretty cheaply. In essence you add a NUGET Package to your code, pass the API a few parameters and they take care of the rest.
SendGrid offers a whole host of cool features, like click tracking so you can see engagement from the emails you send out. They offer templating to make your emails more attractive also.
I don't tend to use a massive amount of the functionality on offer, because most of the time the only emails I send from a website are for things like Password Resets and Security Warnings.
You can find out more about SendGrid at their site: https://sendgrid.com/
How much does it Cost?
I setup SendGrid through my Microsoft Azure Subscription, doing this gives me the ability to send up to 25,000 emails per month for free; that is a lot of email...
Other tiers seem pretty reasonable, they get more expensive and give you more emails per month as you would expect. It looks pretty scalable, if I did need to increase my email output I could get 100 Thousand emails per month for 80 quid which sounds cheap.
Looking at their website, the free offer isn't available through there, so if you use Azure, its a must have service to add to your account.
How easy is it to Integrate?
This is something thats particularly important to me, if something has a steep learning curve I tend to ditch it entirely. Its not worth learning all about somebodies API when you just want it to complete a seemingly mundane task, its not exactly the exciting part of coding.
I found SendGrid remarkably easy to integrate, I would go as far as to say this was probably the easiest third party service I have ever implemented. The documentation on their website gives you direct code examples for pretty much any language you could ever envision using.
In terms of the code footprint, you need to add a NUGET package, a couple of config settings with your credentials and then a small amount of nice readable code like this...
SendGrid also has a really neat dashboard that tells you what the interactions have been completed with the emails you send, you can't manage this service directly through Azure, but it sends you out and signs you into SendGrid automatically.
I had to save a screenshot from a test account to not give away anything incriminating here, but this gives you an idea of the web ui. I find it quite easy to use, the activity page is the best part; it shows you live / real time states on emails you submitted.
If you are developing your own websites and you pay for an SMTP service, you should find SendGrid much cheaper, and because Email is what they do, you can trust them to do it right and take the weight off your shoulders!
Anyways, just wanted to highlight one of the best tools in my toolbox, ill be posting up more in future as there are several like SendGrid that are so good you just keep using them over and over again.
Have you tried out SendGrid or any of their competitors?