Advanced transactional email for SaaS
Effortlessly integrate email sending for your software and benefit from advanced email features like inbound routing, SMS, dynamic templating and webhooks.


Why use transactional email for SaaS
Account updates and notifications
Instantly deliver subscription upgrade and renewal notifications, billing emails, expiration alerts, and payment failure emails.
Product updates
Send important notifications about updates to your app, changes to the terms of service, and revisions to pricing and subscriptions.
Onboarding emails
Introduce users to your app's features with welcome emails. Help them get started and present the next steps for using the software.
Customer service
Provide timely email and SMS updates about support tickets and enable 2-way communication with inbound routing.
Security alerts
Let users know about general security updates and alerts as well as potential security issues or breaches to their account.
Activity summary
Keep users in the loop about their activity and suggest potential upgrades to their subscription where necessary.
Seamless implementation with API or SMTP
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.
"
}'
use MailerSend\MailerSend;
use MailerSend\Helpers\Builder\Recipient;
use MailerSend\Helpers\Builder\EmailParams;
$mailersend = new MailerSend(['api_key' => 'key']);
$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());
const Recipient = require("mailersend").Recipient;
const EmailParams = require("mailersend").EmailParams;
const MailerSend = require("mailersend");
const mailersend = new MailerSend({
api_key: "key",
});
const recipients = [new Recipient("your@client.com", "Your Client")];
const 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.send(emailParams);
package main
import (
"context"
"fmt"
"time"
"github.com/mailersend/mailersend-go"
)
var APIKey string = "Api Key Here"
func main() {
ms := mailersend.NewMailersend(APIKey)
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
subject := "Subject"
text := "Greetings from the team, you got this message through MailerSend."
html := "Greetings from the team, you got this message through MailerSend.
"
from := mailersend.From{
Name: "Your Name",
Email: "your@email.com",
}
recipients := []mailersend.Recipient{
{
Name: "Your Client",
Email: "your@client.com",
},
}
variables := []mailersend.Variables{
{
Email: "your@client.com",
Substitutions: []mailersend.Substitution{
{
Var: "foo",
Value: "bar",
},
},
},
}
tags := []string{"foo", "bar"}
message := ms.NewMessage()
message.SetFrom(from)
message.SetRecipients(recipients)
message.SetSubject(subject)
message.SetHTML(html)
message.SetText(text)
message.SetSubstitutions(variables)
message.SetTags(tags)
res, _ := ms.Send(ctx, message)
fmt.Printf(res.Header.Get("X-Message-Id"))
}
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

Parse incoming messages to your app

Set up triggered workflows with webhooks
Integrations

Send high-volume text messages with SMS API

Optimize your email sending with bulk scheduling

Track performance with reports and real-time activity

Experience high deliverability and scalability

Easily send personalized emails

Verify emails in real time via API
A cost-effective solution with advanced features for your SaaS business
Starter
Premium
Enterprise
What our customers think
Try MailerSend for free
Sign up now to experience all of the features that make MailerSend a great solution for SaaS businesses. Get 3,000 emails/month free.
Frequently Asked Questions
How do I integrate MailerSend in my app or software?
You can quickly integrate MailerSend via our Email and SMS APIs. We have extensive API and developer documentation to get your started. What’s more, we offer a number of integrations as well as connectivity with thousands of apps via Zapier, Make and Integrately.
What is the pricing and how does it compare to other transactional email and SMS services?
You can get started with MailerSend’s free account which includes 3,000 emails per month. Pricing then starts at $30 for 50,000 emails. Check our full pricing or see how we compare to other transactional email services.
Is MailerSend GDPR compliant?
Yes, MailerSend is GDPR compliant. Read how.
What security features does MailerSend have?
MailerSend is built with the latest security protocols to prevent the interception of important client and account information with secure S/MIME and PGP encryption. Features such as IP allowlisting, 2FA and granular custom roles help to keep your account secure.