Sign up for a free account
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
Use inbound routing for email and SMS. MailerSend will parse incoming messages and integrate them into your app. Allow users to reply to comments, emails and post messages.
Set up triggered workflows with webhooks
Integrate real-time sending activity with your custom dashboards and applications using webhooks. Set up triggered workflows based on specific events so you never miss an important notification.
Integrations
Send high-volume text messages with SMS API
Create an omnichannel experience for your users by sending timely transactional SMS alongside your emails. Send 2FA, password resets, subscription reminders, support messages and more.
Optimize your email sending with bulk scheduling
Send email notifications to user segments using the bulk email endpoint. Consolidate multiple emails into a single HTTP request and maximize deliverability.
Track performance with reports and real-time activity
Keep an eye on key metrics and monitor your reputation, bounces and spam complaints. View email activity in real time and create and download custom analytics reports.
Experience high deliverability and scalability
Our powerful sending infrastructure is built for peak deliverability at scale. As your sending requirements grow, there’s no need to switch providers. MailerSend will grow alongside you.
Easily send personalized emails
Whether you send a few or a few thousand emails, you can easily customize the content with dynamic email templates and personalization variables. Automatically insert personal details, account information and more.
Verify emails in real time via API
Integrate instant email validation in your app or website with the email verification API endpoint. Inform users in real time if they’ve entered an invalid email and prevent them from being added to your list.
A cost-effective solution with advanced features for your SaaS business
Hobby
Starter
Professional
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.
Send an email from the trial domain
Try out the features & check your activity
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 Hobby plan which includes 3,000 emails per month. Pricing then starts at $28 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.