Solutions

Send transactional emails in bulk

Optimize your sendings and preserve your daily request quota by consolidating multiple emails into a single HTTP request.

Easy scheduling with the bulk API endpoint

Use MailerSend’s simple API and the bulk email endpoint to schedule multiple emails and check their status after sending. Save on resources and make sending more efficient.
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.

" }'
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 MailerSendClient, EmailBuilder

ms = MailerSendClient()

# Create individual EmailRequest objects
emails = [
    EmailBuilder()
        .from_email("sender@domain.com", "Sender")
        .to_many([{"email": "recipient1@domain.com", "name": "Recipient 1"}])
        .subject("Bulk email 1")
        .html("

Hello from bulk email 1

") .text("Hello from bulk email 1") .build(), EmailBuilder() .from_email("sender@domain.com", "Sender") .to_many([{"email": "recipient2@domain.com", "name": "Recipient 2"}]) .subject("Bulk email 2") .html("

Hello from bulk email 2

") .text("Hello from bulk email 2") .build() ] response = ms.emails.send_bulk(emails)
require "mailersend-ruby"

ms_bulk_email = Mailersend::BulkEmail.new

ms_bulk_email.messages = [
    {
        'from' => {"email" => "april@parksandrec.com", "name" => "April"},
        'to' => [{"email" => "ron@parksandrec.com", "name" => "Ron"}],
        'subject' => "Time",
        'text' => "Time is money, money is power, power is pizza, and pizza is knowledge. Let's go.",
        'html' => "Time is money, money is power, power is pizza, and pizza is knowledge. Let's go.",
      },
      {
        'from' => {"email" => "april@parksandrec.com", "name" => "April"},
        'to' => [{"email" => "leslie@parksandrec.com", "name" => "Leslie"}],
        'subject' => "This is a rubject line",
        'text' => "This is the example content in the email.",
        'html' => "

Example html.

", } ] ms_bulk_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.emails.Email;
import com.mailersend.sdk.MailerSend;
import com.mailersend.sdk.MailerSendResponse;
import com.mailersend.sdk.exceptions.MailerSendException;

public void sendBulkEmails() {

    Email email1 = new Email();

    email1.setFrom("name", "your email");
    email1.addRecipient("name", "your@first-recipient.com");
   
    email1.setSubject("Email subject 1");

    email1.setPlain("This is the text content for the first email");
    email1.setHtml("

This is the HTML content for the first email

"); Email email2 = new Email(); email2.setFrom("name", "your email"); email2.addRecipient("name", "your@second-recipient.com"); email2.setSubject("Email subject 2"); email2.setPlain("This is the text content for the second email"); email2.setHtml("

This is the HTML content for the second email

"); MailerSend ms = new MailerSend(); ms.setToken("Your API token"); try { String bulkSendId = ms.emails().bulkSend(new Email[] { email1, email2 }); // you can use the bulkSendId to get the status of the emails System.out.println(bulkSendId); } catch (MailerSendException e) { e.printStackTrace(); } }

Bulk transactional email delivery for your every need

Banks and financial services

General customer alerts about security, policy updates, products, and branch information.

Apps and software

Downtime & maintenance updates, data breach alerts, changes to Terms of Service, and app launch alerts.

E-commerce businesses

Product recalls, back-in-stock alerts, pre-purchased sales updates, and product launch notifications.

Healthcare

Emergency communication, seasonal reminders (e.g. flu vaccine), practice open times, and data breach alerts.

Education

Important school updates, emergency alerts, event reminders, class schedules, and holiday reminders.

Real estate

New property listings, open house reminders and invitations, and updates about open times.

MailerSend

Customize each email to the recipient

Dynamic email templates and custom variables enable you to send a single templated email to multiple recipients, personalized for each and every one.

MailerSend

Deliverability you can count on

MailerSend’s powerful infrastructure and years of deliverability experience ensure maximum inbox placement, while bulk email delivery allows you to further optimize your sendings.

Instant transactional email delivery

Ensure customers and users receive important messages such as password resets or 2FA instantly, and schedule less critical alerts and notices for bulk email delivery.

Integrations

Easily connect other web apps with MailerSend so they seamlessly work together to share information, automate workflows and enhance your customer experience.
MailerSend

Gain valuable activity and performance insights

Keep track of email delivery, opens clicks, spam complaints and more with the analytics and activity pages and the iOS app. Create and download custom reports with just a few clicks.

MailerSend

Test and tweak templates to see what works best

Test up to 5 variations of a template with email split testing to learn which content, CTAs and subject lines perform the best with your recipients. Simply add the template ID to your API call!

MailerSend

Protect your sender reputation with email verification

Scan your list of recipients to identify invalid or risky emails with our inbuilt email verification tool. Keep your list clean to save on your sending quota and improve deliverability.

How to start sending bulk emails with MailerSend

Sign up

Get started with a free account.

Learn more
Activate your account

Complete the steps to finish your account activation.

Learn more
Upgrade and start sending

Upgrade for as little as $7/month and start sending with the bulk email endpoint.

Pricing

Four simple plans, no hidden costs. Start with 500 emails/month for free and upgrade to get more volume or features.
How many emails do you plan to send?
3K
Pricing in Euros and British Pounds is for informational purposes only. All billing invoices will be charged in US dollars.
Recommended
Professional

For agencies and white-label resellers sending at scale

$88.00 /month
$1,056.00 billed yearly
81.12 /month
€973.39 billed yearly
£68.23 /month
£818.79 billed yearly
$110.00 /month 101.39 /month £85.29 /month
50,000 emails /month
150 SMS /month
400 email verification credits
Extra usage
$0.90 0.90 £0.90 /1,000 emails
$1.40 1.40 £1.40 /100 SMS
Recommended
Starter

For growing startups and small businesses

$28.00 /month
$336.00 billed yearly
25.81 /month
€309.71 billed yearly
£21.71 /month
£260.53 billed yearly
$35.00 /month 32.26 /month £27.14 /month
50,000 emails /month
100 SMS /month
100 email verification credits
Extra usage
$0.90 0.90 £0.90 /1,000 emails
$1.40 1.40 £1.40 /100 SMS
Recommended
Hobby

For personal projects and side hustles

$ 5.60 /month
$67.20 billed yearly
5.15 /month
€61.83 billed yearly
£4.43 /month
£53.18 billed yearly
$7.00 /month 6.44 /month £5.53 /month
5,000 emails
100 email verification credits
Extra usage
$1.20 1.20 £1.20 /1,000 emails
Free

For occasional email testing and sending

$0
500 emails
10 email verification credits
Enterprise

For large organizations with special requirements

Designed for scale — includes everything in Professional, plus:
  • 14-days API logs retention
  • Enterprise-grade support
  • Dedicated IP
*Learn more about plan limits.   |   Taxes may apply, learn more.

What our customers think

MailerSend integrates quickly into your tech stack, scales with your sendings, and ensures that your emails get delivered.
Very happy I found MailerSend—I will be using it long term. It’s very easy to use and, compared it with several other bulk email services online, you get the most value for money. It does exactly what I needed.
Brennan S. IT Systems Manager
Excellent deliverability, powerful API, complete analytics and fast support. They have a great dashboard with a vast amount of valuable data. The API is very fast to accept emails, delivery is almost instantaneous.
I was using another mail service, but wasn’t satisfied, so I switched to mailersend. I stayed because not only the mail delivery is excellent, but the UX is awesome. I had to speak with support for a feature request, and they were great.
Verified User Human Resources

Try MailerSend for free

Sign up now to experience all of the features that make MailerSend a great solution for bulk transactional email. Get started with 500 emails/month free.

Frequently Asked Questions

How many emails can I send at once with MailerSend?

Each plan type has a different daily request quota, ranging from 1,000 for the Hobby plan, to 500,000 for an Enterprise plan. With the bulk email endpoint, you can send up to 500 emails in a single request, and up to 10 API requests a minute to the bulk-email endpoint. That’s 5,000 emails in a single minute!

How do you ensure high deliverability rates for bulk emails?

The bulk-email API endpoint was created specifically to save on sending resources and optimize deliverability of bulk emails. What’s more, our team has extensive experience in email deliverability and knows what it takes to ensure messages reach the inbox.

Can I track the performance of my email sending with MailerSend?

Of course! We know that tracking the performance of your transactional emails is essential for keeping an eye on key metrics and adjusting your messages for an optimal customer experience. MailerSend includes an advanced analytics tools for in-depth, custom reporting, and an email activity page to check the status of emails in real-time. You can even track performance on the go with our iOS app.

Can I integrate your service with my current email system?

With the email API, you can easily connect to any of your apps. If you’re a MailerLite user, you can use SSO to connect your accounts. You can also use our official integrations, including Zapier, which allows you to connect to 4,000+ apps. Check out our integrations for more information. 

What kind of email templates can I use with your service?

Our template gallery has a range of responsive, dynamic transactional email templates that have been professionally designed and are ready for your use. You can also create your own templates with the Drag and Drop, HTML and Rich-text email builders.

What kind of support do you offer if I need help with my bulk email campaigns?

Our friendly and knowledgeable customer support team is available to assist you with any technical or account-related issues via email (Hobby) or live chat (Starter, Professional or Enterprise). Limited support is available for Free plans.