Custom HTML template builder
Utilize your coding skills and create custom emails with our HTML email template builder. Design responsive and dynamic email templates that meet your unique requirements while showcasing your brand identity!
Work faster with our HTML email editor
Save time and speed up your workflow with our specialized functionality including syntax highlighting, autocompleting tags and error tagging. Easily add variables to personalize your emails for subscribers at scale.


Test HTML emails before sending
Create professional email designs that look good in Gmail and Outlook by previewing them in real time. Send test emails to check how your custom HTML code, CSS, fonts and GIFs appear in different email clients.

Update your HTML template at any time
Enjoy the freedom of editing your HTML template as and when you need. Update your HTML code and save the template as a draft, keeping the previous template active until you’re ready to publish the latest version.
Send quickly with pre-built code
It’s easy to send your transactional email campaigns with MailerSend’s API. No need for third-party plugins! Simply copy the sending instructions for your favorite programming language and paste it into your terminal or file.
Read our API docscurl -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

Manage your templates in one place
Organize your email templates into categories like CRM and e-commerce, then reuse favorites by duplicating them. Set default settings like subject, sender and email address for easy, automatic sending.
See what our users think
Easily create new templates
"It's easy to create new templates and send them via the API. The customer support is great! They are very fast to reply to your request with a solution."
Easily design HTML emails
"The templates option is great for both clients and developers alike. You can easily design HTML emails and fill in the information easily through the API."
Amazing product and support
"What's really worth mentioning is the outstanding customer support. Replies within minutes with an extensive answer and implementation examples."
Award-winning customer support
MailerSend’s friendly and knowledgeable customer support team is on-hand 24/7 to help you with your account and sendings. Get help with setting up, advanced features and troubleshooting your account.
Frequently Asked Questions
What is MailerSend?
MailerSend is a transactional email service provider built to be quickly implemented by developers, and so that the whole team can get involved with transactional emails. MailerSend provides various options to create emails, including a HTML email template builder.
What options are available for creating templates?
In addition to the custom HTML email template builder, there is also the user-friendly drag and drop email editor and rich-text email editor available. All members of your team can create beautiful emails with the the free email templates or from scratch, no coding skills needed.
Can I use MailerSend for email marketing campaigns?
MailerSend is a transactional ESP. While you could send email newsletters and other campaigns, we recommend using a dedicated email marketing service, and keeping transactional emails separate for maintaining maximum deliverability and performance.
Does MailerSend have ready-made templates available?
Yes, you’ll get access to a rich gallery of professionally designed, responsive transactional email templates ready for you to customize and make your own.
Can I add dynamic content to templates built on MailerSend?
You can easily send personalized, dynamic emails to multiple recipients via a single email. Simply add dynamic content to your custom HTML template, or use the dynamic content blocks in the drag and drop email builder.
More features to explore
MailerSend is packed full of features that help you save time and grow your business.
Send emails
Email delivery
Enjoy the flexibility of sending a few emails or scaling quickly to send a few million.
Transactional emails
Intuitively-designed tools allow anyone to contribute, while an advanced infrastructure lets you scale fast.
SMTP relay
Use Simple Mail Transfer Protocol when you want to quickly send emails using a reliable Internet standard.
Email API
Start sending and tracking your emails with our easy API integration process and clean documentation.
Dynamic email templates
Build one-to-one customer relationships on a mass scale using a single email template.
Email verification
Verify a single email address or upload an entire email list to verify in bulk.
API de e-mail versátil para devs
Relay de SMTP
Control your sendings
Webhooks
Get notified as email events happen so your integration can automatically trigger reactions.
Advanced email tracking
Every email is a learning experience. Monitor your email performance to find what works best.
Manage the unsubscribe page
Whether people are unsubscribing, give them a compelling reason to stay.
Suppression list management
Protect your sending reputation by adding email addresses and domains that you should not send to.
Track the results
Create emails
Custom HTML template builder
Interested in writing your own HTML code? Our HTML email template editor gives you the flexibility to build exactly what you want.
Drag & drop email template builder
Our drag & drop email editor empowers you to create professionally-designed transactional emails.
Rich-text email editor
Create plain text emails with the formatting capabilities of HTML. Add links, images, bullet points and style text with ease.
Email split testing
Email split testing will improve engagement with your transactional emails by helping you learn what your customers want more.
Control your account
User management
Invite your team members to collaborate on projects by assigning roles and granting permissions.
File manager
Streamline your workflow by organizing and keeping all your files in one place in the cloud.
Multiple domains
Use multiple domains to manage different brands or products with one MailerSend account.
Dedicated IP
Take control of your sending reputation with your own dedicated IP address and optimize your sendings for improved deliverability.