Email API

World-class Email API & SMTP

Get the best-in-industry API solutions for your transactional and marketing Emails. Gain full control over the entire Email delivery process, allowing you to optimize and customize your Email sending for maximum impact. Say goodbye to spam folders and hello to higher engagement rates as you harness the power of our advanced Email infrastructure.

Best-in-class

Transactional Emails
actually reaching the inbox

Deliverability icon

Deliverability

Send Emails with up to 99% deliverability ensured by our close cooperation with local and global providers.

Performance icon

Performance

Take full advantage of dedicated IPs and protect your deliverability. Use our super reliable, auto-scaling APIs to deliver without delay.

Analytics icon

Analytics

Gain comprehensive understanding of your performance with Email logs and engagement metrics allowing you to analyze your entire traffic.

Deliverability icon

24/7 Support

Experience the comfort of comprehensive support. Utilize our renowned concierge support to swiftly and effortlessly configure all the settings in your account.

Battle-tested by over 63k demanding brands:

Coca cola logo
Starbucks logo
DHL logo
T-Mobile logo
IKEA logo
Douglas logo
Volkswagen logo
Carrefour logo
Loved by developers and marketers

Stay connected with your clients

MessageFlow delivers password resets, shipping updates, and any other essential Emails to your customers precisely when they need them without any delay.

  • Brand Indicators for Message Identification (BIMI) protect your brand against spoofing and phishing
  • Dedicated IP addresses authenticate your Emails with SPF, DKIM, and DMARC
  • Strategic partnerships with global and local mailbox providers ensure maximum deliverability rates
email delivered with MessageFlow
Deploy your message

Lightning-fast integration with API & SMTP

Integrate and deliver seamlessly within minutes using our RESTful APIs and SMTP, supported by libraries tailored to your programming language and interactive documentation.

                        
var client = new RestClient("https://api.messageflow.com/v2.1/email");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "REPLACE_KEY_VALUE");
request.AddParameter("application/json", "{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"cc\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"string\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileContent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
                        
package main

import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)

func main() {

url := "https://api.messageflow.com/v2.1/email"

payload := strings.NewReader("{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"cc\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"string\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileContent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "REPLACE_KEY_VALUE")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)

fmt.Println(res)
fmt.Println(string(body))

}
                        
HttpResponse<String> response = Unirest.post("https://api.messageflow.com/v2.1/email")
.header("content-type", "application/json")
.header("authorization", "REPLACE_KEY_VALUE")
.header("application-key", "REPLACE_KEY_VALUE")
.body("{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-
tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello
world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"c
c\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"stri
ng\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-
HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test
sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-
value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileCon
tent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}")
.asString();
                        
var request = require("request");

var options = {
method: 'POST',
url: 'https://api.messageflow.com/v2.1/email',
headers: {'content-type': 'application/json', authorization: 'REPLACE_KEY_VALUE'},
body: {
subject: 'Test email subject',
smtpAccount: '1.test.smtp',
tags: ['test-tag'],
content: {html: '<h1>Hello world</h1>', text: 'Hello world', templateId: 'as2sCwq'},
bcc: [{email: 'string', name: 'string'}],
cc: [{email: 'string', name: 'string'}],
from: {email: 'string', name: 'string'},
replyTo: {email: 'string', name: 'string'},
headers: {'X-TEST-HEADER': 'val'},
to: [
{
email: '',
name: 'Test sender',
messageId: '',
vars: {'test-var': 'var-value'}
}
],
attachments: [
{
fileName: 'report.txt',
fileMime: 'text/plain',
fileContent: 'c29tZSBmaWxlIGNvbnRlbnQ='
}
]
},
json: true
};

request(options, function (error, response, body) {
if (error) throw new Error(error);

console.log(body);
});
                        
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.messageflow.com/v2.1/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 => "{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"cc\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"string\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileContent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}",
CURLOPT_HTTPHEADER => array(
"authorization: REPLACE_KEY_VALUE",
"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 requests

url = "https://api.messageflow.com/v2.1/email"

payload = "{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"cc\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"string\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileContent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}"
headers = {
'content-type': "application/json",
'authorization': "REPLACE_KEY_VALUE"
}

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

print(response.text)
                        
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.messageflow.com/v2.1/email")

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["content-type"] = 'application/json'
request["authorization"] = 'REPLACE_KEY_VALUE'
request.body = "{\"subject\":\"Test email subject\",\"smtpAccount\":\"1.test.smtp\",\"tags\":[\"test-tag\"],\"content\":{\"html\":\"<h1>Hello world</h1>\",\"text\":\"Hello world\",\"templateId\":\"as2sCwq\"},\"bcc\":[{\"email\":\"string\",\"name\":\"string\"}],\"cc\":[{\"email\":\"string\",\"name\":\"string\"}],\"from\":{\"email\":\"string\",\"name\":\"string\"},\"replyTo\":{\"email\":\"string\",\"name\":\"string\"},\"headers\":{\"X-TEST-HEADER\":\"val\"},\"to\":[{\"email\":\"\",\"name\":\"Test sender\",\"messageId\":\"\",\"vars\":{\"test-var\":\"var-value\"}}],\"attachments\":[{\"fileName\":\"report.txt\",\"fileMime\":\"text/plain\",\"fileContent\":\"c29tZSBmaWxlIGNvbnRlbnQ=\"}]}"

response = http.request(request)
puts response.read_body
                        
echo '{"subject":"Test email subject","smtpAccount":"1.test.smtp","tags":["test-tag"],"content":{"html":"<h1>Hello world</h1>","text":"Hello world","templateId":"as2sCwq"},"bcc":[{"email":"string","name":"string"}],"cc":[{"email":"string","name":"string"}],"from":{"email":"string","name":"string"},"replyTo":{"email":"string","name":"string"},"headers":{"X-TEST-HEADER":"val"},"to":[{"email":"","name":"Test sender","messageId":"","vars":{"test-var":"var-value"}}],"attachments":[{"fileName":"report.txt","fileMime":"text/plain","fileContent":"c29tZSBmaWxlIGNvbnRlbnQ="}]}' | \
http POST https://api.messageflow.com/v2.1/email \
authorization:REPLACE_KEY_VALUE \
content-type:application/jsonfileContent":"c29tZSBmaWxlIGNvbnRlbnQ="}]}'
ENGAGEMENT INSIGHTS

Unlock the power of real-time analytics

Our comprehensive Email analytics platform offers a range of features designed to give you a deep understanding of your Email deliverability performance. From open rates and click-through rates to bounce rates and detailed Email logs, we offer a detailed breakdown of how your Emails are performing across various metrics.

delivery rate chart
Trusted platform

Efficiency in theory and
practice

11.7 BLN Messages a month

Throughput that makes a difference.

0.16 s Average transit

Your clients are only 0.16 s away from their messages.

99% Delivarability

Choose a solution that is unparalleled in quality.

79k+ Clients

Taking care of your business at every step

A platform you can trust

Global experience

Local knowledge

Glocal approach

Experience the seamless integration capabilities of MessageFlow as you explore our expertly-crafted API documentation. Our libraries are thoughtfully designed to support various programming languages, ensuring a perfect fit for your needs. With our comprehensive API documentation, setting up and initiating Email campaigns becomes a remarkably effortless and time-efficient process. Start your journey with MessageFlow by delving into our API docs and discover the full potential of our platform.

                        
var client = new RestClient("https://api.messageflow.com/v2.1/contact");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "REPLACE_KEY_VALUE");
request.AddHeader("application-key", "REPLACE_KEY_VALUE");
request.AddParameter("application/json", "[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
                        
package main

import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)

func main() {

url := "https://api.messageflow.com/v2.1/contact"

payload := strings.NewReader("[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "REPLACE_KEY_VALUE")
req.Header.Add("application-key", "REPLACE_KEY_VALUE")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)

fmt.Println(res)
fmt.Println(string(body))

}
Deploy your message

Lightning-fast 
integration

Get up and running in minutes with our lightning-fast solution. Our RESTful APIs and SMTP seamlessly integrate with your app, while our programming language libraries and interactive documentation make integration a breeze. With our transactional and marketing Emails solution, you’ll be delivering emails with speed and ease.

Perfectly Integrated

Powerful cloud-based SMTP server

MessageFlow offers robust services based on the widely supported SMTP protocol, seamlessly integrating with various applications and systems that your company relies on, including ecommerce platforms, CRMs, marketing automation platforms and CMSs.

Simply update the SMTP credentials/parameters in your application, and you’re all set to start sending.

MessageFlow integrations and support
Safety first

We make security our top priority

At MessageFlow, we understand the paramount importance of safeguarding your data. That’s why we prioritize security as our topmost concern. With enterprise-grade security and compliance measures recognized globally, we ensure the highest level of protection.

Sending millions of Emails monthly requires exceptional diligence for optimal deliverability and performance. Rest assured that your data is in safe hands. Properly implemented protocols and our proactive monitoring systems ensure that your information remains protected at all times.

We adhere to the highest industry standards, providing you with peace of mind and enabling you to focus on what matters most – growing your business.

 

One-stop-shop for messaging solutions

Beyond Email communication

Harness the power of MessageFlow and unlock the full potential of cross-channel communication to enhance the effectiveness of your messaging and achieve your sales goals.

Leverage our cross-channel API to effortlessly manage all your communication needs, including triggered marketing Emails, email marketing campaigns, push notifications, and SMS, all from a single, unified platform.

Testimonials

Don’t just take our words

If you really want to know why you should choose MessageFlow, 
don’t take it from us – hear straight from our customers.

We use the platform to send SMS and Mobile Push notifications both domestically and internationally with Support always on standby.

Vice President of the Board

ING Bank Śląski confirms that it cooperation in the scope of the contract for the provision of services in the area of SMS sending of a marketing and information nature. When choosing the platform provider, we were mainly guided by the security of communication and the stability of the infrastructure.

CPO Wholesale Banking European Countries

Efficiently overseeing our SMS campaigns, our collaborator guarantees timely execution, precise delivery, and thorough reporting.

Loyalty Program Coordinator

The communication platform provides us with comprehensive SMS communication services at a very high level. Thanks to the individual approach to our needs, we were able to use ready-made solutions, as well as tailor-made solutions, which is a great help in the case of such a large organization as ours.

Director Of The Finance and Customer Service Department

The Email and SMS communication infrastructure delivers outstanding overall performance, perfectly meeting our extensive marketing campaign needs.

Marketing Coordinator

We have been using this platform continuously since 2011 to handle SMS campaigns. The tool is characterized by high quality of operation, it is distinguished by the speed of sending shipments, high level of deliverability and access to the Polish GSM infrastructure.

Director of Loyalty Program

Our SMS provider has delivered uninterrupted, efficient service over 24 months, showing a flexible and customer-centered approach that aligns seamlessly with our operational needs.

Marketing Manager