Solutions

30% off transactional messaging for nonprofits

Send donation receipts, thank you emails, password resets and more with a reliable solution made more affordable for your non-profit organization.

MailerSend

A cost-effective, long-term solution with a generous free plan to get you started

Flexible plans and pricing designed to make your budget stretch further as you grow your organization.
Non-profit discount
MailerSend
30%
SendGrid SendGrid
FREE emails
MailerSend
3,000 emails/month
SendGrid SendGrid
100 emails/day
50,000 emails
MailerSend
$24.50
SendGrid SendGrid
$19.95
100,000 emails
MailerSend
$47.60
SendGrid SendGrid
$34.95
250,000 emails
MailerSend
$113.75
SendGrid SendGrid
$249
500,000 emails
MailerSend
$227.50
SendGrid SendGrid
$431

Transactional email you can rely on

Emails that reach inboxes

We consistently rank high for deliverability thanks to our expert team and powerful email delivery platform, ensuring your important messages land in front of people, not in the spam folder.

Secure, compliant solution

We implement the latest security protocols and provide account features to protect your email from external threats, while maintaining privacy compliance for your contributors and clients.

Automated communication

Trigger the right email at the right time with automated donation confirmations, thank you emails, subscription notifications, OTPs and more.

SMTP or API: fast and simple setup

Create SMTP credentials in seconds that you can plug into your app or website for simple SMTP integration. Or develop advanced email workflows with the email API and SDKs that drop right into your stack.
Check out the documentation
curl -X POST \
https://api.mailersend.com/v1/email \
    -H 'Content-Type: application/json' \
    -H 'X-Requested-With: XMLHttpRequest' \
    -H 'Authorization: Bearer {place your token here without brackets}' \
    -d '{
        "from": {
            "email": "your@email.com"
        },
            "to": [
        {
            "email": "your@client.com"
        }
        ],
        "subject": "Hello from MailerSend!",
        "text": "Greetings from the team, you got this message through MailerSend.",
        "html": "Greetings from the team, you got this message through MailerSend."
    }'
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";

const mailerSend = new MailerSend({
   api_key: "key",
});

const sentFrom = new Sender("you@yourdomain.com", "Your name");

const recipients = [
  new Recipient("your@client.com", "Your Client")
];

const emailParams = new EmailParams()
  .setFrom(sentFrom)
  .setTo(recipients)
  .setReplyTo(sentFrom)
  .setSubject("This is a Subject")
  .setHtml("This is the HTML content")
  .setText("This is the text content");

await mailerSend.email.send(emailParams);
$recipients = [
new Recipient('your@client.com', 'Your Client'),
];

$emailParams = (new EmailParams())
->setFrom('your@email.com')
->setFromName('Your Name')
->setRecipients($recipients)
->setSubject('Subject')
->setHtml('Greetings from the team, you got this message through MailerSend.')
->setText('Greetings from the team, you got this message through MailerSend.');

$mailersend->email->send($emailParams);
php artisan make:mail ExampleEmail

Mail::to('you@client.com')->send(new ExampleEmail());
from mailersend import emails

mailer = emails.NewEmail()

mail_body = {}

mail_from = {
    "name": "Your Name",
    "email": "your@domain.com",
}

recipients = [
    {
        "name": "Your Client",
        "email": "your@client.com",
    }
]

mailer.set_mail_from(mail_from, mail_body)
mailer.set_mail_to(recipients, mail_body)
mailer.set_subject("Hello!", mail_body)
mailer.set_html_content("Greetings from the team, you got this message through MailerSend.", mail_body)
mailer.set_plaintext_content("Greetings from the team, you got this message through MailerSend.", mail_body)

mailer.send(mail_body)
# Intialize the email class
ms_email = Mailersend::Email.new

# Add parameters
ms_email.add_recipients("email" => "your@client.com", "name" => "Your Client")
ms_email.add_recipients("email" => "your@client.com", "name" => "Your Client")
ms_email.add_from("email" => "your@domain.com", "name" => "Your Name")
ms_email.add_subject("Hello!")
ms_email.add_text("Greetings from the team, you got this message through MailerSend.")
ms_email.add_html("Greetings from the team, you got this message through MailerSend.")

# Send the email
ms_email.send
package main

import (
    "context"
    "os"
    "fmt"
    "time"

    "github.com/mailersend/mailersend-go"
)

func main() {
	// Create an instance of the mailersend client
	ms := mailersend.NewMailersend(os.Getenv("MAILERSEND_API_KEY"))

	ctx := context.Background()
	ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
	defer cancel()

	subject := "Subject"
	text := "This is the text content"
	html := "This is the HTML content"

	from := mailersend.From{
		Name:  "Your Name",
		Email: "your@domain.com",
	}

	recipients := []mailersend.Recipient{
		{
			Name:  "Your Client",
			Email: "your@client.com",
		},
	}
	
	// Send in 5 minute
	sendAt := time.Now().Add(time.Minute * 5).Unix()

	tags := []string{"foo", "bar"}

	message := ms.Email.NewMessage()

	message.SetFrom(from)
	message.SetRecipients(recipients)
	message.SetSubject(subject)
	message.SetHTML(html)
	message.SetText(text)
	message.SetTags(tags)
	message.SetSendAt(sendAt)
	message.SetInReplyTo("client-id")

	res, _ := ms.Email.Send(ctx, message)

	fmt.Printf(res.Header.Get("X-Message-Id"))

}
import com.mailersend.sdk.Email;
import com.mailersend.sdk.MailerSend;
import com.mailersend.sdk.MailerSendResponse;
import com.mailersend.sdk.exceptions.MailerSendException;

public void sendEmail() {

    Email email = new Email();

    email.setFrom("name", "your email");
    email.addRecipient("name", "your@recipient.com");

    // you can also add multiple recipients by calling addRecipient again
    email.addRecipient("name 2", "your@recipient2.com");

    // there's also a recipient object you can use
    Recipient recipient = new Recipient("name", "your@recipient3.com");
    email.AddRecipient(recipient);
    
    email.setSubject("Email subject");

    email.setPlain("This is the text content");
    email.setHtml("This is the HTML content");

    MailerSend ms = new MailerSend();

    ms.setToken("Your API token");

    try {    
        MailerSendResponse response = ms.emails().send(email);
        System.out.println(response.messageId);
    } catch (MailerSendException e) {
        e.printStackTrace();
    }
}
MailerSend

User-friendly template builders

Anyone on your team can build professional email templates with the drag and drop or rich-text editors. Want to code them from scratch? Then you’ll love our HTML builder.

MailerSend

Email split testing with a click

Easily split test up to five variations of an email template to learn which content, subject lines, images, and CTAs work best. Just pick a template, create the test, and start sending.

Integrations

Easily connect other web apps with MailerSend so they seamlessly work together to share information, automate workflows and enhance your customer experience.

Claim your 30% discount

Sign up for a free trial account and contact our friendly support team to begin the non-profit approval process. You can then upgrade your plan and we’ll apply your 30% off!

MailerSend

Tracking made easy

Create custom analytics reports for volume, open rates, clicks, bounces, and more metrics to monitor performance over time. View activity for each email as it happens to catch potential issues in real time. 

MailerSend

Two-way communication

Inbound email processing lets you integrate email replies into your applications and CRMs. Easily manage communication, like customer service replies, by routing email content to an email address or endpoint.  

MailerSend

Team-friendly user management

Invite team members from across your organization and assign custom roles to define the domains, settings, and features they have access to. 

MailerSend

Transactional SMS API

Optimize the user experience by delivering 2FA messages, OTPs, subscription reminders and more with toll-free text messaging

FAQs

How do I get my 30% discount?

Simply create your free trial account (no credit card needed) and contact our customer service team. You’ll be required to prove your non-profit status. Once approved, we’ll apply your 30% discount and you can upgrade to your chosen plan! Please view our Nonprofit Discount Terms for more information.

Is MailerSend GDPR compliant?

Yes! MailerSend is GDPR compliant and our data center is located in the European Union with information security certificate ISO 27001.

Can I stack discounts?

At this time, the 30% non-profit discount cannot be stacked with other discounts, including the 20% annual plan discount. If you would prefer to pay for your plan annually, you can do so and receive the 30% nonprofit discount instead of the 20% annual discount.

Do we need developers to get started with MailerSend?

Depending on your needs and current tech stack, you may need a developer who is comfortable working with the API. If you are going to use a simple SMTP integration, can enter your SMTP user credentials, and/or use no-code integrations, you may be able to use MailerSend without a developer. If you’re unsure, you can contact our customer support team.