What makes Zoho ZeptoMail special?
Mailchimp Transactional (formerly Mandrill) is designed for developers to send emails. It’s used for sending marketing and transactional emails, with transactional emails being an add-on feature for Standard and Premium plans.
Why should you pay for two different services when your main focus is to send transactional emails?
With Zoho ZeptoMail, you pay only for what you use. ZeptoMail is exclusively built to send transactional emails ensuring fast and secure delivery. Unlike Mailchimp Transactional, sending transactional emails is our primary focus, not just an add-on.
Get started with Zoho ZeptoMail.
Use this quick roadmap to make a seamless transition from Mailchimp Transactional to Zoho ZeptoMail.
Sign up for Zoho ZeptoMail.
Sign up for ZeptoMail by entering the relevant credentials.
Once you sign up, you’ll receive a verification email to validate your email address.
After you verify your account, you’ll be prompted to enable two-factor authentication for your account. You can choose from the list of TFA options to enable it.
Add and verify your domain
After you verify your account verification, you can start adding your domain address.
Set up DKIM and CNAME records in your DNS configuration to verify your domain.
Learn more from this step-by-step guide on how to add and verify your domain.
Modify one line of your existing code.
You can easily switch from Mailchimp Transactional to ZeptoMail by just changing this one line of your API code.
Send an API request to https://api.zeptomail.com/v1.1/md/email
To authorize your request, you need to add the Send Mail token in the header section.
Send transactional emails from ZeptoMail
Welcome to ZeptoMail. You can now start sending your transactional emails. Happy email sending!
![Sign up for Zoho ZeptoMail](http://www.zohowebstatic.com/sites/zweb/images/zeptomail/migration/step-1.jpg)
![Domain addition and verification](http://www.zohowebstatic.com/sites/zweb/images/zeptomail/migration/step-2.jpg)
curl "https://api.zeptomail.com/v1.1/md/email" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Zoho-enczapikey ***" \
-d '{
"headers" : {"key": "headers"},
"message": {
"subject": "Your Example Order Confirmation",
"html": "<h1> This is a Test email </h1>",
"from_email": "rebecca@example.in",
"from_name": "Rebecca",
"to": [
{"email": "john@example.com", "name": "John", "type": "to"},
{"email": "julia@example.com", "name": "Julia", "type": "to"},
{"email": "jane@example.com", "name": "Jane", "type": "cc"},
{"email": "jim@example.com", "name": "Jim", "type": "bcc"}
],
"attachments": [
{"name": "attachment.pdf", "type": "text/pdf", "content": "[base64 content]"}
],
"images": [
{"name": "Image name", "type": "image/png", "content": "[base64 content]"}
]
}}'
fetch("https://api.zeptomail.com/v1.1/md/email", {
body: JSON.stringify({
"message": {
"subject": "Your Example Order Confirmation",
"html": "<h1> This is a Test email </h1>",
"from_email": "rebecca@example.in",
"from_name": "Rebecca",
"to": [
{
"email": "john@example.com",
"name": "John",
"type": "to"
},
{
"email": "julia@example.com",
"name": "Julia",
"type": "to"
},
{
"email": "jane@example.com",
"name": "Jane",
"type": "cc"
},
{
"email": "jim@example.com",
"name": "Jim",
"type": "bcc"
}
],
"attachments": [
{
"name": "attachment.pdf",
"type": "text/pdf",
"content": "[base64 content]"
}
],
"images": [
{
"name": "Image name",
"type": "image/png",
"content": "[base64 content]"
}
]
}
}),
method: "POST",
headers: {
"Authorization": "Zoho-enczapikey ***",
"Accept": "application/json",
"Content-Type": "application/json"
}
}).then(async (resp) => {
let result = await resp.json()
console.log(result)
}).catch((err) => {
console.log(err)
})
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 = System.Net.SecurityProtocolType.Tls12;
var baseAddress = "https://api.zeptomail.com/v1.1/md/email";
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", "Zoho-enczapikey ***");
JObject parsedContent = JObject.Parse("{
"headers": {"key": "headers"},
"message": {
"subject": "Your Example Order Confirmation",
"html": "<h1> This is a Test email </h1>",
"from_email": "rebecca@example.in",
"from_name": "Rebecca",
"to": [
{
"email": "john@example.com",
"name": "John",
"type": "to"
},
{
"email": "julia@example.com",
"name": "Julia",
"type": "to"
},
{
"email": "jane@example.com",
"name": "Jane",
"type": "cc"
},
{
"email": "jim@example.com",
"name": "Jim",
"type": "bcc"
}
],
"attachments": [
{
"name": "attachment.pdf",
"type": "text/pdf",
"content": "[base64 content]"
}
],
"images": [
{
"name": "Image name",
"type": "image/png",
"content": "[base64 content]"
}
]
}
}");
Console.WriteLine (parsedContent.ToString());
ASCIIEncoding encoding = new ASCIIEncoding();
Byte[] bytes = encoding.GetBytes(parsedContent.ToString());
Stream newStream = http.GetRequestStream();
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
var response = http.GetResponse();
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
Console.WriteLine (content);
}
}
}
import requests
url = "https://api.zeptomail.com/v1.1/md/email"
payload = "{ \"headers\" : { \"key\" : \"headers\" }, \"message\": { \"subject\": \"Your Example Order Confirmation\", \"html\": \"<h1> This is a Test email </h1>\", \"from_email\": \"rebecca@example.in\", \"from_name\": \"Rebecca\", \"to\": [{\"email\": \"john@example.com\", \"name\": \"John\", \"type\": \"to\"}, {\"email\": \"julia@example.com\", \"name\": \"Julia\", \"type\": \"to\"}, {\"email\": \"jane@example.com\", \"name\": \"Jane\", \"type\": \"cc\"}, {\"email\": \"jim@example.com\", \"name\": \"Jim\", \"type\": \"bcc\"}], \"attachments\": [{\"name\": \"attchment.pdf\", \"type\": \"text/pdf\", \"content\": [base64 content]}], \"images\": [{\"name\": \"Image name\", \"type\": \"image/png\", \"content\": \"[base64 content]\"}]} }"
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': "Zoho-enczapikey ***",
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.zeptomail.com/v1.1/md/email",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
"headers": {"key": "headers"},
"message": {
"subject": "Your Example Order Confirmation",
"html": "<h1> This is a Test email </h1>",
"from_email": "rebecca@example.in",
"from_name": "Rebecca",
"to": [
{
"email": "john@example.com",
"name": "John",
"type": "to"
},
{
"email": "julia@example.com",
"name": "Julia",
"type": "to"
},
{
"email": "jane@example.com",
"name": "Jane",
"type": "cc"
},
{
"email": "jim@example.com",
"name": "Jim",
"type": "bcc"
}
],
"attachments": [
{
"name": "attachment.pdf",
"type": "text/pdf",
"content": "[base64 content]"
}
],
"images": [
{
"name": "Image name",
"type": "image/png",
"content": "[base64 content]"
}
]
}
}'
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Zoho-enczapikey ***",
"cache-control: no-cache",
"content-type: application/json",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;
public class JavaSendapi {
public static void main(String[] args) throws Exception {
String postUrl = "https://api.zeptomail.com/v1.1/md/email";
BufferedReader br = null;
HttpURLConnection conn = null;
String output = null;
StringBuffer sb = new StringBuffer();
try {
URL url = new URL(postUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Authorization", "Zoho-enczapikey ***");
JSONObject object = new JSONObject("
\"headers\" : { \"key\" : \"headers\" },
\"message\": { \"subject\": \"Your Example Order Confirmation\",
\"html\": \"<h1> This is a Test email </h1>\",
\"from_email\": \"rebecca@example.in\",
\"from_name\": \"Rebecca\",
\"to\": [
{\"email\": \"john@example.com\", \"name\": \"John\", \"type\": \"to\"},
{\"email\": \"julia@example.com\", \"name\": \"Julia\", \"type\": \"to\"},
{\"email\": \"jane@example.com\", \"name\": \"Jane\", \"type\": \"cc\"},
{\"email\": \"jim@example.com\", \"name\": \"Jim\", \"type\": \"bcc\"}],
\"attachments\": [{\"name\": \"attchment.pdf\", \"type\": \"text/pdf\", \"content\": [base64 content]}],
\"images\": [{\"name\": \"Image name\", \"type\": \"image/png\", \"content\": \"[base64 content]\"}]}
");
OutputStream os = conn.getOutputStream();
os.write(object.toString().getBytes());
os.flush();
br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
while ((output = br.readLine()) != null) {
sb.append(output);
}
System.out.println(sb.toString());
} catch (Exception e) {
br = new BufferedReader(new InputStreamReader((conn.getErrorStream())));
while ((output = br.readLine()) != null) {
sb.append(output);
}
System.out.println(sb.toString());
} finally {
try {
if (br != null) {
br.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
![Send transactional emails from ZeptoMail](http://www.zohowebstatic.com/sites/zweb/images/zeptomail/migration/step-4.jpg)
How is ZeptoMail different from Mailchimp Transactional?
Here are some concepts and terminologies to easily navigate while using Zoho ZeptoMail.
- Email Segments
- DNS Requirements
- Attachment Management
- Measure
- User Management
- User Activity Logs
- Suppress Emails
- Logs and Content Retention
- Email Trackers
- Content Storage
- Subscription
- Support
- IP Restrictions
- Webhooks
- Outbound → SubaccountsSegment your outbound messages by segregating into different subaccounts.
- Settings → Domains → Sending DomainsUnder DNS records, enter your SPF, DKIM, and CNAME to verify your domain.
- AnalyticsGet detailed statistics and metrics of sent, spam, bounced, tracked, and opens for each subaccount.
- Multiple UsersOnly admins and owners will have full access, and everyone else will have no access.
- Settings → Rejection Deny ListsEmail bounces and unsubscribes are added to suppressions manually and automatically.
- Outbound → ActivityMailchimp Transactional will store activity data and message content for your emails.30 days of delivered message data retention and content retention.
- Settings → Sending Defaults → Track OpensEnable Track Opens on the Settings page.
- 30 days of delivered content retention.
- For 50,000 emails$40 per month (2 blocks): Access to all features + your Mailchimp monthly plan.Blocks are purchased every month and billed for all emails (even unused ones).1-month free trial
- 24/7 email, phone, and chat support is available for all users.
- Settings → WebhooksAdd webhooks to domains to receive notifications on events linked to the messages you send.
- zeptomail
- Mail AgentsEmails can be grouped based on type, purpose, app, and more with Mail Agents.
- Domains → DNS settingsDomain authentication is ensured by setting up DKIM, and CNAME records in your DNS settings.
- File CacheEnhance storage management by uploading attachments to the File Cache. Later, use the File Cache key when sending emails via the API.File Cache supports 1GB of storage for an account.
- ReportsView comprehensive reports of sent, delivered, soft bounces, hard bounces, processing failures, opens, clicks, and custom reports for all users.
- Manage UsersAssign ownership and access control for multiple users under the account.(applicable to all users)
- Activity LogsWith ZeptoMail’s activity logs, you can track the activities carried out by various users in your ZeptoMail account.(1 year of activity log retention)
- Suppression ListHard bounces of certain categories are automatically added to the list. You can also suppress email addresses and domains manually.
- Processed EmailsIn the processed emails section, sent emails are presented sequentially based on their processing order.Processed email data and content is stored for 60 days. (Enable the setting to retain content).
- Mail Agent → Email TrackingIn ZeptoMail, you’ll have to enable tracking for open and click tracking for each Mail Agent.
- 60 days of content retention.
- For 50,000 emails$12.50 (5 credits): Access all features for all users; valid for 6 months for every user.Buy credits and pay as you go only for the used emails.1 credit free (10,000 emails) for 6 months.
- 24/7 extensive technical support, including phone, email, and chat assistance, is offered to all users.
- IP RestrictionsAdd a list of IPs specifically designated for sending emails solely from your ZeptoMail account to prevent malicious activity.
- Mail Agent → WebhooksUse webhooks to receive notifications regarding activities happening in your emails.
Get a detailed comparison between Mailchimp Transactional and ZeptoMail.
Mailchimp Transactional vs. ZeptomailMailchimp Transactional Transition API Code Explained
A detailed documentation into Mailchimp Transactional transition API to start sending your transactional emails from ZeptoMail.
Mailchimp Transactional Transition APIZeptoMail feature highlights
- Mail Agents
- File Cache
- Processed Emails
- Email Templates
- Webhooks
- Email Tracking
- Domains
- Suppression List
- Reports
- Subscription
- Manage Users
- Activity Logs
- Content Settings
- IP Restrictions
- Export Logs
Why should you choose ZeptoMail?
Exclusively transactional
ZeptoMail provides top-tier inbox placement and delivers emails swiftly, within seconds.
User-friendly interface
Connect ZeptoMail to your business with its user-friendly interface.
Email segmentation
Categorize your emails by domain, application, or purpose into groups called Mail Agents.
No gatekeeping
ZeptoMail’s functionalities don’t require updates or extra charges.
Comprehensive reports
Keep track of all your activities with ZeptoMail’s detailed reports and logs, where every action is documented.
Flexible pricing
ZeptoMail’s pay-as-you-go pricing model takes away the burden of paying for monthly plans and unused emails.
Attachment storage
Optimize email sending by using ZeptoMail’s File Cache to store and upload attachments, ensuring swift access.
24/7 support
Connect with ZeptoMail’s support team anytime via chat, phone, or email for assistance.
Security and privacy
ZeptoMail’s primary focus is a security-first approach to protect the privacy of transactional email communications.
Frequently asked questions
Choose a cost-effective and dedicated transactional email service today.
All names and marks mentioned here remain the property of their original owners. Details are as published by the named competitors on their website(s) on April 2024 and are subject to change without notice. The details provided on this page are for general purposes only and cannot be considered as authorized information from the respective competitors. Zoho disclaims any liability for possible errors, omissions, or consequential losses based on the details here.