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.

A cost-effective, long-term solution with a generous free plan to get you started
|
|
|
![]() |
---|
Non-profit discount | 30% | |||
FREE emails | 3,000 emails/month | 100 emails/day | 100 emails/day | |
50,000 emails | $24.50 | $19.95 | $35 | $55 |
100,000 emails | $47.60 | $34.95 | $75 | $115 |
250,000 emails | $113.75 | $249 | $215 | $245 |
500,000 emails | $227.50 | $431 | $400 | $500.50 |
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.
An email for every use case
-
Donations
Email receipts, thank you emails, legal/tax documentation, and recurring donation notifications. -
Memberships and subscriptions
Email confirmations, membership confirmations, subscription renewals, activity summaries, and event reminders. -
Volunteering
Registration confirmations, application approvals, orientation details, schedule notifications, and service summaries. -
System emails
Account creation confirmations, password resets, 2FA emails, OTPs, login alerts, account deletion notices.




SMTP or API: fast and simple setup
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();
}
}

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.

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
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!

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.

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.

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.

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.