Email Marketing platform | Elastic Email
  • Products

    Email Marketing

    Take control of your campaigns with the best email marketing tools.

    Email API

    Integrate your solutions with our robust email delivery engine.

    Email Verification

    Integrations

  • Pricing

    Email Marketing Pricing

    For those who want to send Unlimited emails.

    Email API Pricing

    For those who want to integrate email into the app or website.
  • Resources

    Get Started

    Take the first steps of your Elastic Email journey.

    Integrations

    Speed up your integration thanks to our collection of plugins.

    Blog

    Read the latest news, as well as tips from the email marketing world.

    Help Center

    Learn more about our product from
    our Customer Support Team.
  • Developers

    API Documentation

    Make the most out of Elastic Email with our RESTful API.

    API Libraries

    Speed up your integration with libraries for various languages.
Log in Try for Free
Products
Email Marketing
Email API
Email Verification
Integrations
Pricing
Email Marketing Pricing
Email API Pricing
Resources
Get Started
Integrations
Blog
Help Center
Developers
API Documentation
API Libraries
Try for Free
Log in
Email API

Send with the most cost-effective email delivery engine

Deliverability, reliability, and scalability matter. Integrate with our RESTful API or SMTP relay and easily scale to millions of emails per month thanks to our powerful global infrastructure.

Try for Free

Free 100 emails/day

No credit card required

You are in good hands. We are trusted by:

brand icon
brand icon
brand icon
brand icon
brand icon
brand icon

You code. We deliver.

Whether you need to quickly start sending transactional emails or fully integrate your website or app, our Email API product will handle all your email needs. 12 years on the market allowed us to create a cost-effective and reliable mailing solution that you can integrate in minutes.

Integrate seamlessly with our RESTful email API

Solve all your mailing headaches by integrating with our email sending API. Quickly connect your software to our infrastructure to reliably send and deliver your emails. Our tools will allow you to create your own email infrastructure, the way you want it to work.

API documentation

Our comprehensive documentation coupled with code samples will help you integrate your software with our email delivery platform without a hassle.

See API documentation

API libraries

Thanks to support for 11 different programming languages and frameworks, integrating your software with Elastic Email should be a simple and efficient process.

See API Libraries

Plugins and integrations

We created simple plugins for integrating our API with the most popular content management systems, along with a set of helpful guides for other tools.

See integrations

Secure API keys

Generate multiple API keys, allowing you to take full control of your permissions and secure your infrastructure thanks to granular access control.

Get your emails delivered using SMTP relay

Start sending transactional or marketing emails directly from your app by quickly configuring our reliable SMTP service.

Quick setup

Connecting to our SMTP relay is as simple as it gets. Simply enter the login details in your application and start sending in literal minutes.

Fast delivery

Our reliable email delivery platform ensures high and fast delivery, for both our email web service API and SMTP relay. Send your emails and watch their progress in real-time.

Trust our email expertise

Our custom Mail Transfer Agent has been built from the ground up to guarantee high reliability and excellent deliverability. It also ensures that we can handle every step of your email journey in an effective and efficient manner.

Our MTA represents:

10+ years

of experience

30,000+

satisfied businesses

Billions

of emails sent each month

Learn more about the importance of a custom MTA.

190 reviews

“I've been using them for about 5 years now. The interface is easy to use, the rates are very reasonable, and the API works as advertised.”

Fred W., Senior Staff Firmware Engineer

“We have been using Elastic Email for over 3 years, it has been a reliable experience and the customer support is amazing.”

Victory Osayi A., Co-founder CEO

“This service has changed the way I do email, would recommend to anyone!”

User in Customer Software

“Very easy to setup, grab the api keys and use it into my CRM. You can also check if everything is going well in the user panel.”

David C., Digital Strategy Consultant

“I've been sending all of my mail via Elastic Email for years and hope to keep doing business with them in the future.”

Adam M., Managed Service Specialist

“Elastic Email is a reliable and easy to use email service platform for all of our current and future projects.”

Tadas T., Quantitative Analyst

“Easiest and Most inexpensive Electronic mail Advertising and marketing Platform”

JAGDEEP S., Digital Marketing Consultant

“Elastic mail is Least difficult and Least expensive Email Marketing Platform”

Cristian W., General Manager

Try for Free

“I've been using them for about 5 years now. The interface is easy to use, the rates are very reasonable, and the API works as advertised.”

Fred W., Senior Staff Firmware Engineer

“We have been using Elastic Email for over 3 years, it has been a reliable experience and the customer support is amazing.”

Victory Osayi A., Co-founder CEO

“This service has changed the way I do email, would recommend to anyone!”

User in Customer Software

“Very easy to setup, grab the api keys and use it into my CRM. You can also check if everything is going well in the user panel.”

David C., Digital Strategy Consultant

“I've been sending all of my mail via Elastic Email for years and hope to keep doing business with them in the future.”

Adam M., Managed Service Specialist

“Elastic Email is a reliable and easy to use email service platform for all of our current and future projects.”

Tadas T., Quantitative Analyst

“Easiest and Most inexpensive Electronic mail Advertising and marketing Platform”

JAGDEEP S., Digital Marketing Consultant

“Elastic mail is Least difficult and Least expensive Email Marketing Platform”

Cristian W., General Manager

Try for Free

Stay up-to-date thanks to Webhook notifications

Set up webhooks to track various events including email sends, opens, clicks, bounces, unsubscribes, and more in real time. Customize your webhooks to ensure that you can proactively react to various events happening in your email pipeline.

Process incoming emails using Inbound email routing

Set up Inbound email routing to process incoming emails. Automatically parse your inbound messages and choose the appropriate actions for them.

Automatic forwarding

Anonymize your inbox by automatically forwarding incoming emails to an address of your choosing.

HTTP notifications

Set up HTTP webhook notifications for inbound emails to easily integrate any incoming messages with your application.

Simple configuration

Set up your inbound processing via API, or through our panel. The choice is yours.

Become an Email API power user

Use these advanced features to experience the best Email API service in full force.

Performance analysis

Track your deliverability stats with our real-time statistics and email logs. Add UTMs to track for yourself or use our dashboard to view them quickly.

Suppression tracking

Automatically keep track of your suppressions to ensure you never send emails to unsubscribed or invalid contacts, increasing your deliverability.

Template management

Drag and drop or code your email templates and save them for easy API management. Upload files, use merge fields, and preview your templates immediately.

decor decor

24/7 Customer Support

Our Customer Support team is here for you 24/7 to give you any help you need, ranging from simple troubleshooting to giving you advanced tips and tricks for better deliverability. Whatever you need, our agents are here for you!

Try for Free

Integrate easily thanks to API libraries

Our collection of API libraries for various programming languages and frameworks will help you speed up your integration and make it more efficient.

Javascript Python Ruby PHP C# Typescript Axios Perl Bash
Copied!
# install library: npm install @elasticemail/elasticemail-client

let ElasticEmail = require('@elasticemail/elasticemail-client');

let defaultClient = ElasticEmail.ApiClient.instance;

let apikey = defaultClient.authentications['apikey'];
apikey.apiKey = "895A382DF3DCC13A97E72EXAMPLEKEY"

let api = new ElasticEmail.EmailsApi()

let email = ElasticEmail.EmailMessageData.constructFromObject({
  Recipients: [
    new ElasticEmail.EmailRecipient("MeowWow ")
  ],
  Content: {
    Body: [
      ElasticEmail.BodyPart.constructFromObject({
        ContentType: "HTML",
        Content: "My test email content ;)"
      })
    ],
    Subject: "JS EE lib test",
    From: "MyEmail "
  }
});

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.emailsPost(email, callback);
// Add Nuget package ElasticEmail to the project
// https://www.nuget.org/packages/ElasticEmail/

using System.Diagnostics;
using ElasticEmail.Api;
using ElasticEmail.Client;
using ElasticEmail.Model;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var config = new Configuration();
            config.ApiKey.Add("X-ElasticEmail-ApiKey", "895A382DF3DCC13A97E72EXAMPLEKEY");

            var apiInstance = new EmailsApi(config);

            try
            {
                var messageData = new EmailMessageData(
                    new System.Collections.Generic.List()
                    {
                        new EmailRecipient("MeowWow ")
                    },
                    new EmailContent(
                        new System.Collections.Generic.List()
                        {
                            new BodyPart()
                            {
                                ContentType = BodyContentType.HTML,
                                Content = "My test email content ;)"
                            }
                        },
                        subject: "EE C# lib test",
                        from: "MyEmail "
                    )
                );

                var apiResponse = apiInstance.EmailsPost(messageData);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling EmailsPost: " + e.Message);
                Debug.Print("Status Code: " + e.ErrorCode);
                Debug.Print(e.StackTrace);
            }
        }
    }
}
# install EE library: pip3 install ElasticEmail

import ElasticEmail
from ElasticEmail.api import emails_api
from ElasticEmail.model.email_message_data import EmailMessageData
from ElasticEmail.model.email_recipient import EmailRecipient
from ElasticEmail.model.email_content import EmailContent
from ElasticEmail.model.body_part import BodyPart
from pprint import pprint

configuration = ElasticEmail.Configuration()
configuration.api_key['apikey'] = '895A382DF3DCC13A97E72EXAMPLEKEY'

with ElasticEmail.ApiClient(configuration) as api_client:
    api_instance = emails_api.EmailsApi(api_client)
    email_message_data = EmailMessageData(
        recipients=[
            EmailRecipient(
                email="MeowWow "
            ),
        ],
        content={
	    "Body": [
		{
		    "ContentType":"HTML",
		    "Content":"My test email content ;)"
		}
	    ],
	    "Subject": "Python EE lib test",
	    "From": "MyEmail "
	}
    )

    try:
        api_response = api_instance.emails_post(email_message_data)
        pprint(api_response)
    except ElasticEmail.ApiException as e:
        print("Exception when calling EmailsApi->emails_post: %s\n" % e)
# install library: gem install ElasticEmail (may require installation of ruby-dev in the system)

require 'ElasticEmail'

ElasticEmail.configure do |config|
  config.api_key['apikey'] = '895A382DF3DCC13A97E72EXAMPLEKEY'
end

api_instance = ElasticEmail::EmailsApi.new

email = ElasticEmail::EmailMessageData.new(
  Hash[
    "recipients" => [ ElasticEmail::EmailRecipient.new(Hash["email" => "MeowWow "]) ],
    "content" => ElasticEmail::EmailContent.new(
      "body" => [ ElasticEmail::BodyPart.new(
        "content" => "My test email content ;)",
        "content_type" => "HTML"
        ) ],
      "subject" => "Ruby EE lib test",
      "from" => "MyEmail "
    )
  ]
)

begin
  api_instance.emails_post(email)
rescue ElasticEmail::ApiError => e
  puts "Exception when calling EE API: #{e}"
end
# 1) install php and php-curl module
# 2) install composer (https://getcomposer.org/)
# 3) create composer.json file:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/elasticemail/elasticemail-php.git"
    }
  ],
  "require": {
    "elasticemail/elasticemail-php": "*@dev"
  }
}

# 4) run composer install

# 5) write and run your script

require_once('vendor/autoload.php');

$config = ElasticEmail\Configuration::getDefaultConfiguration()
        ->setApiKey('X-ElasticEmail-ApiKey', '895A382DF3DCC13A97E72EXAMPLEKEY');

$apiInstance = new ElasticEmail\Api\EmailsApi(
    new GuzzleHttp\Client(),
    $config
);

$email = new \ElasticEmail\Model\EmailMessageData(array(
    "recipients" => array(
        new \ElasticEmail\Model\EmailRecipient(array("email" => "mail@contact.com"))
    ),
    "content" => new \ElasticEmail\Model\EmailContent(array(
        "body" => array(
            new \ElasticEmail\Model\BodyPart(array(
                "content_type" => "HTML",
                "content" => "My content"
            ))
        ),
        "from" => "email@domain.com",
        "subject" => "My Subject"
    ))
));

try {
    $apiInstance->emailsPost($email);
} catch (Exception $e) {
    echo 'Exception when calling EE API: ', $e->getMessage(), PHP_EOL;
}
/* Initialization */
import { Configuration, EmailsApi, EmailMessageData } from '@elasticemail/elasticemail-client-ts-axios';

/* Generate and use your API key */

const config = new Configuration({
    apiKey: "YOUR_API_KEY"
});

const emailsApi = new EmailsApi(config);

const emailMessageData = {
    Recipients: [
      { 
        Email: "MeowWow ",
        Fields: {
          name: "Name"
        }
      }
    ],
    Content: {
      Body: [
        {
          ContentType: "HTML",
          Charset: "utf-8",
          Content: "My test email content ;)"
        },
        {
          ContentType: "PlainText",
          Charset: "utf-8",
          Content: "Hi {name}!"
        }
      ],
      From: "MyEmail ",
      Subject: "Typescript Axios EE lib test"
    }
  }; // interface EmailMessageData from '@elasticemail/elasticemail-client-ts-axios'

const sendBulkEmails = (emailMessageData: EmailMessageData): void => {
  emailsApi.emailsPost(emailMessageData).then((response) => {
      console.log('API called successfully.');
      console.log(response.data);
  }).catch((error) => {
      console.error(error);
  });
};

sendBulkEmails(emailMessageData)
# download our ElasticEmail-WebApiClient and the library
# to install this module, run the following commands: 
# perl Makefile.PL
# make
# make test
# make install

use Data::Dumper;
use ElasticEmail::EmailsApi;
use ElasticEmail::Object::EmailMessageData;
use ElasticEmail::Object::EmailRecipient;
use ElasticEmail::Object::EmailContent;
use ElasticEmail::Object::BodyPart;
my $api_instance = ElasticEmail::EmailsApi->new(

    # Configure API key authorization: apikey
    api_key => {'X-ElasticEmail-ApiKey' => 'YOUR_API_KEY'},
    # uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    #api_key_prefix => {'X-ElasticEmail-ApiKey' => 'Bearer'},
);

my $email_message_data = ElasticEmail::Object::EmailMessageData->new(); # EmailMessageData | Email data
my $recipient = ElasticEmail::Object::EmailRecipient->new();
$recipient->email("MyEmail ");

my $content = ElasticEmail::Object::EmailContent->new();

my $body = ElasticEmail::Object::BodyPart->new();
$body->content('My test email content ;)');
my $body_content_type = 'HTML';
$body->content_type($body_content_type);
$content->body([$body]);

$content->reply_to('MyEmail ');
$content->from('MyEmail ');
$content->subject('Perl EE lib test');
$content->template_name('template name');


$email_message_data->recipients([$recipient]);
$email_message_data->content($content);

eval {
    my $result = $api_instance->emails_post(email_message_data => $email_message_data);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling EmailsApi->emails_post: $@\n";
}
# download and install the lib from ElasticEmail repository and make sure the script has executable rights: $ chmod u+x ElasticEmail

#!/bin/bash

host=https://api.elasticemail.com

apiKey=YOUR_API_KEY

apiKeyHeaderName=X-ElasticEmail-ApiKey
apiKeyHeader=$apiKeyHeaderName:$apiKey

apiMethod=emailsPost

json='{
        Recipients: [
            { 
                Email: "MeowWow ", 
                Fields: {
                    name: "MeowWow"
                }
            }
        ],
        Content: {
            Body: [
                {
                    ContentType: "HTML",
                    Charset: "utf-8",
                    Content: "My test email content ;)"
                },
                {
                    ContentType: "PlainText",
                    Charset: "utf-8",
                    Content: "Hi {name}!"
                }
            ],
            From: "MyEmail ",
            Subject: "Bash EE lib test"
        }
    }'

echo $json | ./ElasticEmail --host $host --content-type json $apiMethod - $apiKeyHeader

Let’s send your first email!

1. Register a free account

Register and activate your account to get access to our product.

2. Verify your domain

Follow the instructions on our settings page to verify your domain and start sending with us.

3. Create an API Key

Go to your settings to generate an API Key to add to your code later.

4. Install our libraries

Head to our GitHub page to find a library suitable for the language you’re using.

5. Send an email

Use the provided code snippets to send out a simple test email. Want to learn more? Check out our documentation and Github.

Plug into existing software

Do you use a CMS to manage your content? Did you implement marketing automation or CRM software? Elastic Email integrates easily with some of the most popular software.

Poptin

Wordpress

Zapier

Drupal

Joomla

Pabbly

Integromat

Hyperise

Discover more integrations
Elastic Email is a leader in Small-Business Transactional Email on G2Elastic Email is a leader in Transactional Email on G2Users love Elastic Email on G2Users love Elastic Email on G2
Elastic Email Email API Product Email API

Ready to get started?

Try out our Email API service now! Start sending for free with 100 emails/day and upgrade anytime.

Try for Free
Free 100 emails/day No credit card required

Products

Email Marketing

Email API

Email Marketing Pricing

Email API Pricing

Email Verification

Integrations

Resources

Get Started

Help Center

Blog

Video Tutorials

Case Studies

Developers

REST API docs

WEB API Docs (Legacy)

API Libraries

Status

Company

About

CareersWe're hiring

Brand Assets

Referral Program

Privacy & Terms

Sitemap

Contact

Customer Support

Contact

Blog Guidelines

Partnership

Report Spam

© Elastic Email Inc. 2023
🍪 Cookie Preferences
Elastic Email uses cookies to determine your access privileges on our website, to complete and support a current activity and to track website usage to provide you with the best experience possible. By continuing to use our site, you agree to our Cookie Policy. Read more
Accept All Customize Use Necessary Only
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
_GRECAPTCHA5 months 27 daysThis cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-marketing1 yearThis cookie is set by the GDPR Cookie Consent plugin to store the user consent for the cookies in the category "Marketing".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent1 yearRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
CookieDurationDescription
__sharethis_cookie_test__sessionShareThis sets this cookie to track which pages are being shared and by whom.
G_ENABLED_IDPS7977 years 4 months 8 days 4 hoursGoogle uses this cookie for Google Single Sign-On.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
CookieDurationDescription
_gat1 minuteThis cookie is installed by Google Universal Analytics to restrain request rate and thus limit the collection of data on high traffic sites.
Tracking
Tracking cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
_ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_9GFVDHZ5M52 yearsThis cookie is installed by Google Analytics.
_gat1 minuteThis cookie is installed by Google Universal Analytics to restrain request rate and thus limit the collection of data on high traffic sites.
_gat_UA-84667640-11 minuteA variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
_gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
_gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
_hjAbsoluteSessionInProgress30 minutesHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeen30 minutesHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjIncludedInPageviewSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSessionSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjShownFeedbackMessage1 dayHotjar sets this cookie when a user minimizes or completes Incoming Feedback so that the Incoming Feedback loads as soon as it is minimized if the user navigates to another page where it is set to show.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
__tnp1 yearNo description
__tzp1 yearNo description
_hjSession_18487030 minutesNo description
_hjSessionUser_1848701 yearNo description
cookielawinfo-checkbox-tracking1 yearNo description
currentAccountIdpastNo description
intercom-id-a62u0ibr8 months 26 days 1 hourNo description
intercom-session-a62u0ibr7 daysNo description
muc_ads2 yearsNo description
zapidentity1 yearNo description
zapsession7 daysNo description
Marketing
Marketing cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
CookieDurationDescription
_fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
IDE1 year 24 daysGoogle DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile.
NID6 monthsNID cookie, set by Google, is used for advertising purposes; to limit the number of times the user sees an ad, to mute unwanted ads, and to measure the effectiveness of ads.
personalization_id2 yearsTwitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.
test_cookie15 minutesThe test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextIdneverThis cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
Save & Accept
Powered by CookieYes Logo