Email Delivery. Simplified.

SendGrid is the world's largest Email Infrastructure as a Service provider. Our email delivery service moves 2% of the world's non-spam email (over 14 billion emails/month) for more than 150,000 companies including technology leaders like Pinterest, Spotify, and Uber.

Become an email expert

Boost your email deliverability skills with best practice guides, videos, webinars and documentation.

Guides

SendGrid best practice guides

Download complimentary guides written by SendGrid email experts that will help you master deliverability and improve your sending reputation.

View all Guides ›
Learn what factors affect your deliverability and what key steps you can take right now to make it to the inbox.
Discover the power of SendGrid’s APIs and webhooks through detailed descriptions, sample use cases, and customer success stories.
Learn 30 actionable tips to grow your email subscriber list, without renting or buying addresses.
Your step-by-step guide to SendGrid’s email platform that highlights our key differentiators and how they can benefit your business.
Key strategies, tools, and tactics to help you comply with the Internet Service Providers, including a dozen resource links.
Learn the best placement, content, and design for your CTAs that will help guarantee a click.

Webcasts

SendGrid webcast recordings

Access free advice from SendGrid and other industry experts on how to improve your email communication strategies and drive engagement with your subscribers.

View all Webcasts ›

Videos

SendGrid video resources

Learn more about SendGrid's core values that influence every part of our product and gain valuable takeaways about deliverability basics in our instructional videos.

View all Videos ›

Documentation

Built for developers by developers

SendGrid has been built from the ground up as an API company. We're built to serve developers and make it easy to send email no matter your environment. You can send email over SMTP or HTTP, and even use one of our official client libraries. In just a few minutes, you can send your first email and millions more.

View all Documentation ›
curl -X POST https://api.sendgrid.com/api/mail.send.json \
     -d "api_user=YOUR_USERNAME" \
     -d "api_key=YOUR_KEY" \
     -d "to=test@sendgrid.com" \
     -d "from=you@youraddress.com" \
     -d "subject=Sending with SendGrid is Fun" \
     -d "html=and easy to do anywhere, even with CURL"
// using SendGrid's Node.js Library - https://github.com/sendgrid/sendgrid-nodejs
var sendgrid = require("sendgrid")(api_user, api_key);
var email = new sendgrid.Email();
 
email.addTo("test@sendgrid.com");
email.setFrom("you@youremail.com");
email.setSubject("Sending with SendGrid is Fun");
email.setHtml("and easy to do anywhere, even with Node.js");
 
sendgrid.send(email);
# using SendGrid's Ruby Library - https://github.com/sendgrid/sendgrid-ruby
require 'sendgrid-ruby'
 
client = SendGrid::Client.new(api_user: api_user, api_key: api_key)
 
email = SendGrid::Mail.new do |m|
  m.to      = 'test@sendgrid.com'
  m.from    = 'you@youremail.com'
  m.subject = 'Sending with SendGrid is Fun'
  m.html    = 'and easy to do anywhere, even with Ruby'
end
 
sendgrid.send(email)
# using SendGrid's Python Library - https://github.com/sendgrid/sendgrid-python
import sendgrid
 
sendgrid = sendgrid.SendGridClient(api_user, api_key)
message = sendgrid.Mail()
 
message.add_to("test@sendgrid.com")
message.set_from("you@youremail.com")
message.set_subject("Sending with SendGrid is Fun")
message.set_html("and easy to do anywhere, even with Python")
 
sendgrid.send(message)
// using SendGrid's Go Library - https://github.com/sendgrid/sendgrid-go
package main
 
import ("github.com/sendgrid/sendgrid-go")
 
func main() {
    sendgrid := sendgrid.NewSendGridClient(api_user, api_key)
 
    message := sendgrid.NewMail()
    message.AddTo("test@sendgrid.com")
    message.SetFrom("you@youremail.com")
    message.SetSubject("Sending with SendGrid is Fun")
    message.SetHTML("and easy to do anywhere, even with Go")
 
    sendgrid.Send(message)
}
// using SendGrid's PHP Library - https://github.com/sendgrid/sendgrid-php
$sendgrid = new SendGrid($api_user, $api_key);
$email    = new SendGrid\Email();
 
$email->addTo("test@sendgrid.com")
      ->setFrom("you@youremail.com")
      ->setSubject("Sending with SendGrid is Fun")
      ->setHtml("and easy to do anywhere, even with PHP");
 
$sendgrid->send($email);
// using SendGrid's Java Library - https://github.com/sendgrid/sendgrid-java
import com.sendgrid.*;
 
public class SendGridExample {
  public static void main(String[] args) {
    SendGrid sendgrid = new SendGrid(api_user, api_key);
 
    SendGrid.Email email = new SendGrid.Email();
 
    email.addTo("test@sendgrid.com");
    email.setFrom("you@youremail.com");
    email.setSubject("Sending with SendGrid is Fun");
    email.setHtml("and easy to do anywhere, even with Java");
 
    SendGrid.Response response = sendgrid.send(email);
  }
}
// using SendGrid's C# Library - https://github.com/sendgrid/sendgrid-csharp
using System;
using System.Net;
using System.Net.Mail;
using SendGridMail;
using SendGridMail.Transport;
 
SendGrid mail = SendGrid.GetInstance();
mail.From = new MailAddress("you@youremail.com");
mail.AddTo("test@sendgrid.com");
mail.Subject = "Sending with SendGrid is Fun";
mail.Text = "and easy to do anywhere, even with C#";
 
var credentials = new NetworkCredential(api_user, api_key);
var transportWeb = new Web(credentials);
transportWeb.Deliver(mail);
// using SendGrid's Objective-C Library - https://github.com/sendgrid/sendgrid-objc
#import <SendGrid/SendGrid.h>
#import <SendGrid/SendGridEmail.h>
 
SendGrid *sendgrid = [SendGrid apiUser:api_user apiKey:api_key];
 
SendGridEmail *email = [[SendGridEmail alloc] init];
email.to = @"you@youreamil.com";
email.from = @"test@sendgrid.com";
email.subject = @"Sending with SendGrid is Fun";
email.html = @"and easy to do anywhere, even with Objective-C";
 
[sendgrid sendWithWeb:email];
# using SendGrid's Perl Library - https://github.com/sendgrid/sendgrid-perl
use Mail::SendGrid;
use Mail::SendGrid::Transport::REST;
 
my $sendgrid = Mail::SendGrid->new(
  from => "test@sendgrid.com",
  to => "you@youreamil.com",
  subject => "Sending with SendGrid is Fun",
  html => "and easy to do anywhere, even with Perl"
);
 
Mail::SendGrid::Transport::REST->new( username => $api_user, password => $api_key );

Sending email for 150,000+ customers

SendGrid is the trusted platform that successfully delivers over 13 Billion emails per month on the behalf of 150K+ customers. We provide unmatched deliverability, scalability, and reliability.