Intuitive email API and SMTP Email sending with high deliverability, easy integration, and a robust API supported by extensive documentation.

Starting from only 9.99 per month • 24/7 Support • 99.5% guaranteed uptime

Integrate quickly with our API documentation

Mesage.io fits right into your stack with libraries for your favorite programming language, while detailed API documentation helps you send emails in minutes.
curl -X POST \
https://api.mesage.io/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 Mesage.io!",
        "text": "Greetings from the team, you got this message through Mesage.io.",
        "html": "Greetings from the team, you got this message through Mesage.io."
    }'
use Mesage.io\Mesage.io;
use Mesage.io\Helpers\Builder\Recipient;
use Mesage.io\Helpers\Builder\EmailParams;

$Mesage.io = new Mesage.io(['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 Mesage.io.')
->setText('Greetings from the team, you got this message through Mesage.io.');

$Mesage.io->email->send($emailParams);
const Recipient = require("Mesage.io").Recipient;
const EmailParams = require("Mesage.io").EmailParams;
const Mesage.io = require("Mesage.io");

const Mesage.io = new Mesage.io({
    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 Mesage.io.")
    .setText("Greetings from the team, you got this message through Mesage.io.");

Mesage.io.send(emailParams);
package main

import (
    "context"
    "fmt"
    "time"

 
)

var APIKey string = "Api Key Here"

func main() {
    ms := Mesage.io.NewMesage.io(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 Mesage.io."
    html := "Greetings from the team, you got this message through Mesage.io."

    from := Mesage.io.From{
        Name:  "Your Name",
        Email: "your@email.com",
    }

    recipients := []Mesage.io.Recipient{
        {
            Name:  "Your Client",
            Email: "your@client.com",
        },
    }

    variables := []Mesage.io.Variables{
        {
            Email: "your@client.com",
            Substitutions: []Mesage.io.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 Mesage.io 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 Mesage.io.", mail_body)
mailer.set_plaintext_content("Greetings from the team, you got this message through Mesage.io.", mail_body)

mailer.send(mail_body)
require "Mesage.io-ruby"

# Intialize the email class
ms_email = Mesage.io::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 Mesage.io.")
ms_email.add_html("Greetings from the team, you got this message through Mesage.io.")

# Send the email
ms_email.send

Integrations

Easily connect other web apps with Mesage.io so they seamlessly work together to share information, automate workflows and enhance your customer experience.
Four simple plans, no hidden costs. Start with 3,000 emails/month and upgrade to get better pricing when you need more volume or features.
How many emails do you plan to send?
Pricing in Euros and British Pounds is for informational purposes only. All billing invoices will be charged in US dollars.
Hobby
9.99€
100 emails
Extra usage
$1.00 0.96025745 £0.81 /1000 emails
Essentials
95.99 /month
26.89 /month
€322.65 billed yearly
£22.70 /month
£272.34 billed yearly
$35.00 /month 33.61 /month £28.37 /month
3,000 emails /month
100 SMS /month
100 email verification credits
Extra usage
$0.95 0.91 £0.77 /1000 emails
$1.40 1.34 £1.13 /100 SMS
Recommended
Professional
250.00 /month
84.50 /month
€1,014.03 billed yearly
£71.33 /month
£855.93 billed yearly
$110.00 /month 105.63 /month £89.16 /month
50,000 emails /month
150 SMS /month
400 email verification credits
Extra usage
$0.80 0.77 £0.65 /1000 emails
$1.40 1.34 £1.13 /100 SMS
Enterprise
For large organizations with special requirements.

Send transactional emails in 5 minutes

Step 1

Sign up for a free account

Step 2

Send an email from the trial domain

Step 3

Try out the features & check your activity