Any of this sound familiar?

spam

Emails Going
To Spam?

Is your performance
dropping?

integrations

Integration Headaches
Ahead?

Imagine a 100 sec
integration.

slow-emails

Emails Slowing
Down?

Are customers
complaining?

how-we-stackup

How Do I
Compare ESPS?

See how we
stack up.

Trusted By
0
Smart Developers Of Big & Small Businesses
33

What Our Clients Say

Traveloka rates Pepipost 10 out of 10! Listen to our client, Wayan Tresna Perdana, talk about how Pepipost benefits Traveloka.

33

What Our Clients Say

Traveloka rates Pepipost 10 out of 10! Listen to our client, Wayan Tresna Perdana, talk about how Pepipost benefits Traveloka.

What Our Clients Say

Arcamax

The Pepipost team is terrific; we have excellent communication. They are really smart and extremely adept at helping with configurations. We view them as an important ally.

Scott Wolf, CEO, Arcamax Publishing

For Developers… By Developers

Fast, easy integrations.

Start Sending in 100 Seconds or Less with SMTP Relay, APIs or Plugins

C#

var client = new RestClient("https://api.pepipost.com/v2/sendEmail");
var request = new RestRequest(Method.POST);
request.AddHeader("api_key", "");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Ruby

require 'uri'
require 'net/http'
url = URI("https://api.pepipost.com/v2/sendEmail")
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["api_key"] = ''
request.body = "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}"
response = http.request(request)
puts response.read_body
Node.js

var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.pepipost.com",
  "port": null,
  "path": "/v2/sendEmail",
  "headers": {
    "content-type": "application/json",
    "api_key": ""
  }
};

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

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

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

req.write(JSON.stringify({ personalizations: 
   [ { recipient: 'hi@welcom.com'} ],
  from: { fromEmail: 'xyz@yourdomain.com', fromName: 'YourCompanyName' },
  subject: 'Test email from Pepipost',
  content: 'Hi, This is my first test email',
  ));
req.end();
Python

import http.client
conn = http.client.HTTPSConnection("api.pepipost.com")
payload = "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}"

headers = {
    'content-type': "application/json",
    'api_key': ""
    }

conn.request("POST", "/v2/sendEmail", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Java

HttpResponse response = Unirest.post("https://api.pepipost.com/v2/sendEmail")
  .header("content-type", "application/json")
  .header("api_key", "")
  .body("{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}")
  .asString();
PHP

 "https://api.pepipost.com/v2/sendEmail",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}",

  CURLOPT_HTTPHEADER => array(
   "api_key: ",
   "content-type: application/json"
 ),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
 } else {
  echo $response;
}
CURL

curl --request POST \
  --url https://api.pepipost.com/v2/sendEmail \
  --header 'api_key: ' \
  --header 'content-type: application/json' \
  --data '{"personalizations":[{"recipient":"sampleuser@example.com"}],"from":{"fromEmail":"admin@yourdomain.com","fromName":"MyCompany"},"subject":"This is a test email","content":"Hi, this is my first test mail"}'

Integrate Pepipost seamlessly into your stack

 
C#
Perl
Python
Ruby
Node
Java
PHP
 

Switching to Pepipost?

Avoid the headaches! Get our migration guide and specific instructions on how to migrate to Pepipost.

I’m Switching From…

Ready to get started?

Get started with up to 30,000 emails/month free!

Pepi thinking

Start typing and press Enter to search

Thank you for your details!

Fill out your information below, and we will send you a PepiAlert, that will describe your domain’s email deliverability situation. Please note that your email address must match the domain, or the domain must be owned by the company matching the email address. We have the right to refuse the request, if we can’t verify the information.

*All fields are required