Email Api

smarter email strategy

Smart emails that land directly into the right inbox

Make the most of these powerful touchpoints between your brand and your customers.

Get started
Trusted by 30,000+ global businesses
RazorpayXiaomiUnacademyDream11IndeedIndian OilIxigo
curl --request POST \
  --url https://control.msg91.com/api/v5/email/send \
  --header 'Authkey: <authkey>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '
{"to":[{"name":"Mark","email":"[email protected]"}],"from":{"name":"Joe","email":"[email protected]"},"cc":[{"email":"[email protected]"},{"email":"[email protected]"}],"bcc":[{"email":"[email protected]"},{"email":"[email protected]"}],"domain":"The domain which you have registered with us. We sign DKIM with this domain.","mail_type_id":"1 for Transactional, 2 for Notificational, 3 for Promotional - Default is 3","in_reply_to":"If the current mail is reply of any mail then that mail Message ID.","reply_to":[{"email":"[email protected]"},{"email":"[email protected]"}],"attachments":[{"filePath":"Public path for file.","fileName":"File Name"},{"file":"File in Data URI format data:content/type;base64,<data>.","fileName":"File Name"}],"template_id":"YOUR_UNIQUE_TEMPLATE_NAME","variables":{"VAR1":"VAR1 VALUE","VAR2":"VAR2 VALUE"}}
'
const http = require("https");

const options = {
  "method": "POST",
  "hostname": "control.msg91.com",
  "port": null,
  "path": "/api/v5/email/send",
  "headers": {
    "Authkey": "<authkey>",
    "accept": "application/json",
    "content-type": "application/json"
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  to: [{name: 'Mark', email: '[email protected]'}],
  from: {name: 'Joe', email: '[email protected]'},
  cc: [{email: '[email protected]'}, {email: '[email protected]'}],
  bcc: [{email: '[email protected]'}, {email: '[email protected]'}],
  domain: 'The domain which you have registered with us. We sign DKIM with this domain.',
  mail_type_id: '1 for Transactional, 2 for Notificational, 3 for Promotional - Default is 3',
  in_reply_to: 'If the current mail is reply of any mail then that mail Message ID.',
  reply_to: [{email: '[email protected]'}, {email: '[email protected]'}],
  attachments: [
    {filePath: 'Public path for file.', fileName: 'File Name'},
    {
      file: 'File in Data URI format data:content/type;base64,<data>.',
      fileName: 'File Name'
    }
  ],
  template_id: 'YOUR_UNIQUE_TEMPLATE_NAME',
  variables: {VAR1: 'VAR1 VALUE', VAR2: 'VAR2 VALUE'}
}));
req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://control.msg91.com/api/v5/email/send",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "\n{\"to\":[{\"name\":\"Mark\",\"email\":\"[email protected]\"}],\"from\":{\"name\":\"Joe\",\"email\":\"[email protected]\"},\"cc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"bcc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"domain\":\"The domain which you have registered with us. We sign DKIM with this domain.\",\"mail_type_id\":\"1 for Transactional, 2 for Notificational, 3 for Promotional - Default is 3\",\"in_reply_to\":\"If the current mail is reply of any mail then that mail Message ID.\",\"reply_to\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"attachments\":[{\"filePath\":\"Public path for file.\",\"fileName\":\"File Name\"},{\"file\":\"File in Data URI format data:content/type;base64,<data>.\",\"fileName\":\"File Name\"}],\"template_id\":\"YOUR_UNIQUE_TEMPLATE_NAME\",\"variables\":{\"VAR1\":\"VAR1 VALUE\",\"VAR2\":\"VAR2 VALUE\"}}\n",
  CURLOPT_HTTPHEADER => [
    "Authkey: <authkey>",
    "accept: application/json",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://control.msg91.com/api/v5/email/send")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Authkey"] = '<authkey>'
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "\n{\"to\":[{\"name\":\"Mark\",\"email\":\"[email protected]\"}],\"from\":{\"name\":\"Joe\",\"email\":\"[email protected]\"},\"cc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"bcc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"domain\":\"The domain which you have registered with us. We sign DKIM with this domain.\",\"mail_type_id\":\"1 for Transactional, 2 for Notificational, 3 for Promotional - Default is 3\",\"in_reply_to\":\"If the current mail is reply of any mail then that mail Message ID.\",\"reply_to\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"attachments\":[{\"filePath\":\"Public path for file.\",\"fileName\":\"File Name\"},{\"file\":\"File in Data URI format data:content/type;base64,<data>.\",\"fileName\":\"File Name\"}],\"template_id\":\"YOUR_UNIQUE_TEMPLATE_NAME\",\"variables\":{\"VAR1\":\"VAR1 VALUE\",\"VAR2\":\"VAR2 VALUE\"}}\n"

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("control.msg91.com")

payload = "\n{\"to\":[{\"name\":\"Mark\",\"email\":\"[email protected]\"}],\"from\":{\"name\":\"Joe\",\"email\":\"[email protected]\"},\"cc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"bcc\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"domain\":\"The domain which you have registered with us. We sign DKIM with this domain.\",\"mail_type_id\":\"1 for Transactional, 2 for Notificational, 3 for Promotional - Default is 3\",\"in_reply_to\":\"If the current mail is reply of any mail then that mail Message ID.\",\"reply_to\":[{\"email\":\"[email protected]\"},{\"email\":\"[email protected]\"}],\"attachments\":[{\"filePath\":\"Public path for file.\",\"fileName\":\"File Name\"},{\"file\":\"File in Data URI format data:content/type;base64,<data>.\",\"fileName\":\"File Name\"}],\"template_id\":\"YOUR_UNIQUE_TEMPLATE_NAME\",\"variables\":{\"VAR1\":\"VAR1 VALUE\",\"VAR2\":\"VAR2 VALUE\"}}\n"

headers = {
    'Authkey': "<authkey>",
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/api/v5/email/send", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Features
feature
Email Template BuilderDrag-and-drop to create the layout of your email. Customize your transactional emails using our no-code, drag-and-drop interface. Preview to see how your email will look when viewed on different devices.
feature
AMP EmailsRich interactive emails to increase user engagement. Rich interactive emails to increase user engagement. Your customers can interact dynamically with your message directly in the email to perform tasks and CTAs with fewer steps and zero redirects.
feature
StatisticsMonitor and track every aspect of your email’s lifecycle. Get a graphical representation of the delivery rates, open rates, click-through rates, bounce rates, and spam to iterate and ensure you reach your customer's inbox.
feature
SMTP/RestAPI supportIntegrate with our RESTful APIs and SMTP in minutes. Integrate with our RESTful APIs and SMTP in minutes. Get your hands on our comprehensive documentation or connect with our support superheroes to easily integrate into your custom or third-party apps to start sending emails.
feature
Email ValidationPositively impact the engagement and reputation of your brand. Deliver more messages to real contacts with our real-time API that detects and suppresses invalid email address with an accuracy rate of up to 85% to give you a clean list.
Start building your ideal customer engagement experience