Getting started with ZeptoMail

Zoho ZeptoMail is a reliable, secure and scalable transactional email service. We do one thing and one thing well—transactional email sending. With an exclusive focus on transactional emails, we take care of your important emails while you focus on your business.





Choose how you want to send emails from ZeptoMail

  • SMTP Relay
  • Email API

SMTP Relay: Fast and easy setup

SMTP Relay: Fast and easy setup SMTP Relay: Fast and easy setup

What is SMTP?

Simple Mail Transfer Protocol (SMTP) is the standard protocol used to send, receive, or relay outgoing messages between email senders and receivers. It is the most commonly used protocol for email sending.

When should you use SMTP?

If you're already using SMTP in your application or only need a simple integration, ZeptoMail's SMTP relay is the quickest way to get you started. With SMTP, you can do away with the bells and whistles to integrate your application in just a few steps.

Sending emails using SMTP

Using SMTP relay to send your transactional emails is as simple as copying credentials from ZeptoMail and entering it into your application or platform.

Track Recipient Activity

Use metadata to track opens and clicks on emails sent using SMTP. You can then view this data in your ZeptoMail account or use webhooks to get instant notifications.

Secure Connection

Security is one of the cornerstones of ZeptoMail. To ensure complete safety of your email data, we only support TLS v1.2 for data transfer between the application and servers.

Email APIs: Deeper integration

curl "" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: [Authorization key]"  \
-d '{
"from": {"address": ""},
"to": [{
    "email_address": {
        "address": "",
        "name": "Receiver"
"subject":"Test Email",
"htmlbody":" Test email sent successfully. "}'      

// For ES6
import { SendMailClient } from "zeptomail";

// For CommonJS
// var { SendMailClient } = require("zeptomail");

const url = "";
const token = "[Authorization key]";

let client = new SendMailClient({ url, token });

  from: {
      address: "",
      name: "noreply"
  to: [
      email_address: {
          address: "",
          name: "Receiver"
  subject: "Test Email",
  htmlbody: " Test email sent successfully.",
  .then((resp) => console.log("success"))
  .catch((error) => console.log("error"));
using System;
using System.Net;
using System.Text;
using System.IO;
using System.Net.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace Rextester {
  public class Program {
  public static void Main(string[] args) {
  System.Net.ServicePointManager.SecurityProtocol = 
  var baseAddress = "";
  var http = (HttpWebRequest)WebRequest.Create(new Uri(baseAddress));
  http.Accept = "application/json";
  http.ContentType = "application/json";
  http.Method = "POST";
  http.PreAuthenticate = true;
  http.Headers.Add("Authorization", "[Authorization key]");
  JObject parsedContent = JObject.Parse("{"+
    "'from': {'address': ''},"+
    "'to': [{'email_address': {"+
    "'address': '',"+
    "'name': 'Receiver'"+
    "'subject':'Test Email',"+
    "'htmlbody':' Test email sent successfully.'"+
  ASCIIEncoding encoding = new ASCIIEncoding();
  Byte[] bytes = encoding.GetBytes(parsedContent.ToString());
  Stream newStream = http.GetRequestStream();
  newStream.Write(bytes, 0, bytes.Length);
  var response = http.GetResponse();
  var stream = response.GetResponseStream();
  var sr = new StreamReader(stream);
  var content = sr.ReadToEnd();
import requests

url = ""

payload = """{
    "from": { 
      "address": ""
    "to": [{
      "email_address": {
        "address": "",
        "name": "Receiver"
    "subject":"Test Email",
    "htmlbody":"Test email sent successfully."
headers = {
 'accept': "application/json",
 'content-type': "application/json",
 'authorization': "[Authorization key]",

response = requests.request("POST",url,data=payload,headers=headers)

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "",
    "from": { "address": ""},
    "to": [
            "email_address": {
                "address": "",
                "name": "Receiver"
    "subject":"Test Email",
    "htmlbody":" Test email sent successfully. ",
    "accept: application/json",
    "authorization: [Authorization key]",
    "cache-control: no-cache",
    "content-type: application/json",

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


    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        echo $response;

import org.json.JSONObject;

public class JavaSendapi {
  public static void main(String[] args) throws Exception {
  String postUrl = "";
  BufferedReader br = null;
  HttpURLConnection conn = null;
  String output = null;
  StringBuffer sb = new StringBuffer();
  try {
    URL url = new URL(postUrl);
    conn = (HttpURLConnection) url.openConnection();
    conn.setRequestProperty("Content-Type", "application/json");
    conn.setRequestProperty("Accept", "application/json");
    conn.setRequestProperty("Authorization", "[Authorization key]");
    JSONObject object = new JSONObject("{\n" +
    "  \"from\": {\n" +
    "    \"address\": \"\"\n" +
    "  },\n" +
    "  \"to\": [\n" +
    "    {\n" +
    "      \"email_address\": {\n" +
    "        \"address\": \"\",\n" +
    "        \"name\": \"Receiver\"\n" +
    "      }\n" +
    "    }\n" +
    "  ],\n" +
    "  \"subject\": \"Test Email\",\n" +
    "  \"htmlbody\": \" Test email sent successfully.\"\n" +
    OutputStream os = conn.getOutputStream();
    br = new BufferedReader(
    new InputStreamReader((conn.getInputStream()))
    while ((output = br.readLine()) != null) {
  } catch (Exception e) {
      br = new BufferedReader(
        new InputStreamReader((conn.getErrorStream()))
      while ((output = br.readLine()) != null) {
    } finally {
        try {
          if (br != null) {
        } catch (Exception e) {
        try {
          if (conn != null) {
        } catch (Exception e) {

What are APIs?

APIs enable a connection between your application and ZeptoMail. It gives applications access to the functionality available in ZeptoMail, such as transactional emails sending, using templates, and uploading files.Our email APIs come with client libraries for multiple languages like Curl, C#, Python, Node JS and more.

When should you use email API?

If your application requires deeper insight into the performance of your emails, APIs are exactly what you need. Use ZeptoMail's APIs to easily integrate, view, and retrieve information.

Sending emails using email API

If you're familiar with programming languages and require deeper integration with ZeptoMail, you can use our email APIs to send emails from the platform. APIs go beyond just email sending.

Email templates at the ready

Pick from the multiple sample templates already available in ZeptoMail. Customize these templates or even build your own from scratch. Use the APIs to send single or batch emails using templates.

Robust API libraries

ZeptoMail provides email API is most common programming languages to make the integration easy and hassle-free.

Separate your email streams

Managing multiple applications or sending a variety of transactional emails from your business? Group your emails by type, purpose, app, and more using Mail Agents. Each Mail Agent has a unique API token and SMTP credentials

+ Separate your email streams
Separate your email streams

Great deliverability

No matter how you choose to integrate your application with ZeptoMail, great email deliverability is guaranteed. ZeptoMail's processes are optimized to ensure good inbox placement and fast delivery.

Great deliverability
Great deliverability
Great deliverability

Developer-friendly documentation

Comprehensive and developer-friendly help documentation helps you make the most of our service. Simply follow the instructions to get started with ZeptoMail and navigate the platform.

Developer-friendly documentation

You’re all set to start sending emails!

Developer-friendly documentation

Extensive support

Uninterrupted email sending with good deliverability is our priority. We have a knowledgable and capable technical assistance team available around the clock to provide extensive support.

Extensive support

Reliable, secure, and hassle-free transactional email APIs