Hey, WhatsApp API is here 🎉
Deliver critical alerts faster. Add WhatsApp now.
Team-friendly email API for modern apps
Transactional email, WhatsApp and SMS you can set up in minutes and deliver in seconds. Send emails reliably and at scale.
14-day free Professional trial • Send 500 emails/month for free • 24/7 Support • 99.5% guaranteed uptime
Fast, reliable email delivery to send your critical comms at scale.
Send and receive transactional text messages with your own unique phone number.
View email activity in real time and trigger workflows and alerts with webhooks.
Reach customers where they chat, fast, with global WhatsApp transactional messaging.
Hear it from the people who build with us
Omnichannel messaging for agencies
Easily onboard multiple clients via domain or sender identity and manage their transactional emails in a single account, while ensuring best-in-class deliverability.
Transactional communication for
e-commerce
Fast, reliable delivery at scale of order confirmations, shipping notifications, and delivery updates that land without worry.
Email & SMS for SaaS operations
Keep your apps and software running smoothly with onboarding emails, billing notifications, password resets, and OTPs that enhance the user experience.
Fast, clean API integration
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);
$mailersend = new MailerSend();
$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)
require "mailersend-ruby"
# 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();
}
}
SMTP credentials, ready to drop in
Not every project needs an API. Our SMTP relay provides fast, reliable email sending. Just enter your credentials and you’re good to go.
Monitor. Optimize. Deliver.
Real-time email activity
Follow every step of the message journey to quickly identify deferrals and bounces, complete with mail server responses.
API & SMTP logs
Troubleshoot sending issues fast with a full view of your SMTP and API requests and their responses.
Analytics reports
Create reports for your whole account or filter by domain and tags to create individual reports to share with your clients.
Suppressions management
No need to handle bounces, unsubscribes and spam complaints yourself—MailerSend automatically adds them to your suppressions list.
Webhooks
Use webhook notifications about key email and SMS events to set up triggered workflows, monitor delivery, and optimize your delivery logic.
Email verification
Verify recipient email addresses via the API or in app, in bulk or in real time. Keep your database clean and your deliverability optimal.
Award-winning support
Get 24/7 technical support from knowledgeable experts who provide real solutions
Custom template options
Use pre-built email templates or create your own with our Drag & Drop or HTML builder
Team-friendly app
Easily manage team access with RBAC, 2FA enablement, and SSO.
EU-compliant privacy
Send confidently with a GDPR compliant solution that uses EU data centers (ISO 27001).
Explore all features for free
Professional
For agencies and white-label resellers sending at scale
Starter
For growing startups and small businesses
Hobby
For personal projects and side hustles
Free
For occasional email testing and sending
- 500 emails /month
- 10 email verification credits
- Email threads support
- Drag & Drop email builder
Add-ons
Customize your plan with extra resources as you need them.
Email verification
Verify email addresses in bulk or real-time.
$25.00
$0.01 per credit
$45.00
$0.009 per credit
$80.00
$0.008 per credit
$120.00
$0.008 per credit
$160.00
$0.008 per credit
$175.00
$0.007 per credit
$300.00
$0.006 per credit
$450.00
$0.006 per credit
$500.00
$0.005 per credit
$600.00
$0.005 per credit
$1,000.00
$0.005 per credit
$1,200.00
$0.004 per credit
$1,500.00
$0.003 per credit
$2,000.00
$0.002 per credit
Reach customers with transactional text messages. Available in the USA and Canada only.
$5.00
$0.0050 per message
Extra usage: $2.50/1,000
$10.00
$0.0010 per message
Extra usage: $0.50/1,000
$20.00
$0.0004 per message
Extra usage: $0.20/1,000