Features

Flexible email API service for developers

MailerSend’s powerful RESTful API service is built with you in mind. Start integrating email sending quickly with our official libraries, and authenticate API requests with tokens.

Quick and easy email API integration

MailerSend fits right into your stack with libraries for your favorite programming languages, including PHP, Node.js, Golang, Python, Ruby, Java and Laravel, plus comprehensive API documentation.

Read our API docs
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);
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
MailerSend

Send emails from your apps

Start sending emails with MailerSend’s email API service in just a few minutes and get access to advanced functionality like personalization, bulk sending, attachments and more.

MailerSend

Let your team handle the rest

Allow your whole team to contribute by granting them specific permissions or assigning them roles so they can create templates without you having to handle the design.

MailerSend

Allow users to interact with inbound routing

Easy to configure inbound routing enables MailerSend to parse incoming emails to your app, so users can effortlessly post replies, comments and emails.

MailerSend

Get real-time notifications with webhooks

Optimize users’ workflows with instant notifications about transactional email events. Get updates about email delivery, spam complaints, bounces and more without constantly polling the API.

MailerSend

Safeguard your sending domain

Protect your sender reputation with inbox providers using our SPF, DKIM and DMARC security protocols. Authenticate your email content to improve your email deliverability and keep out of the spam folder.

MailerSend

Proven experience that delivers

MailerSend is backed by a decade of email delivery experience, so you can send transactional email messages knowing that they will reach the inbox.

Here’s what developers say about MailerSend

Amazing product and support

"MailerSend is extremely easy to use and super fast to set up. I was able to send the first email via the API in minutes. What's really worth mentioning is the outstanding customer support."


Tobias R.

Easy to send via API

"It is quite easy to create new templates and send them through the API. Up until now, we didn't have any problems with receiving emails. Plus, the customer support is great!"


Markus G.

For developers and designers

"Super easy to use API for devs. Easy to use mail templating for designers. Developers don't need to do design, and designers don't need to code as well. It's awesome."


Raphael A.

Frequently asked questions

What is MailerSend?

MailerSend is a transactional messaging service provider that offers a powerful email API, built so that developers can integrate transactional email sending into their stack quickly and easily.

Do you also offer an SMS API?

An SMS API is on the way! It’s on our roadmap and set to be available shortly.

Can I send email marketing campaigns through MailerSend?

While you could send marketing emails, the MailerSend platform is built for transactional emailing. To get the best performance and deliverability for both marketing and transactional email campaigns, we recommend keeping them separate.

What options are available for editing emails?

MailerSend includes three different template builders for users of all skills. The rich-text email editor and drag & drop template builder editors allow users to create professional templates without the need for coding, while the custom HTML template builder offers added flexibility for those wanting to write their own code.

Does MailerSend validate email addresses?

We’re working on an email validation feature, which will be available soon, so that you can verify individual email addresses or your entire list in bulk. 

How does MailerSend pricing work?

Pricing is based on the number of emails you send. Our free plan includes 3,000 emails, with additional emails charged on a pay as you go basis at a rate of $1.00/1,000. Our cost-effective Premium plan is available for up to 2,500,000 emails/month, with additional emails charged at decremental rates starting at $0.90/1,000. If you need more than 2,500,000 emails, you can talk to us about a custom Enterprise plan.

Can I send emails via SMTP (Simple Mail Transfer Protocol)?

Yes, we have a plugin available if you wish to send emails through SMTP, although we recommend using the email API for more advanced functionality.

Do you provide email templates?

MailerSend has a rich gallery of free, responsive transactional email templates that have been professionally designed for many use cases. You can simply choose a template and make it your own.

Can I get a dedicated IP address?

Dedicated IPs are available for high-volume senders. Get in touch with us to find out if a dedicated IP is right for you.

More features to explore

MailerSend is packed full of features that help you save time and grow your business.

Integrate emails in your stack now

Use our email API to start sending emails within your apps. Get started with 3,000 free emails per month! Includes 24/7 help from a friendly and dedicated support team.

Stop War! Help Ukraine! See what you can do