Seamless Migration with our ESP Switcher


90 Days worth of Transactional Logs
A Bulk Email Warmup Plan suited to your Emailing Needs
We understand that every business has different emailing needs, so we not only provide various pricing plans which are better than Mailgun Pricing, but different warmup plans too. These are customised according to your emailing needs. These help you not only achieve superior inboxing but also help you build up your domain and email sending reputation.








Managed Email Service at no extra cost!
Pepipost provides support at no extra cost, irrespective of the plan you choose.

Email usage per/mo | Pepipost/mo | Mailgun/mo | Annual Savings |
---|---|---|---|
150,000 | $25 | $103 | $936 |
400,000 | $85 | $325 | $2,880 |
600,000 | $145 | $370 | $2,700 |
1,000,000 | $245 | $499 | $3,048 |
2,000,000 | $445 | $998 | $6,636 |
For Developers... By Developers
Fast, easy integrations.
Start Sending in 100 Seconds or Less with SMTP Relay, APIs or Plugins
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);
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
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();
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"))
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();
"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 --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"}'
Enjoy Superior Inboxing at Unmatched Pricing
Dynamic Email Delivery
We monitor your email delivery closely and watch out for anomalies in email behavior. With neural networks, we understand minute shifts in email delivery and auto adjust the throughput.
90 Days of History
While Mailgun provides 30 days of message event history, Pepipost provides you with a searchable 90-day activity feed for all your email campaigns.
24/7 Live Chat Support
At Pepipost, we've always believed support must be free and readily available.That's why our developer evangeliests work around the clock to help you with your questions.And that's not all. Unlike Sendgrid,we don't give differential access to Support
Don't take our word for it.
Our customers have spoken for us to help solidify our spot as a Leader in the G2 Crowd Grid for Transactional Email Software
4.6/5
4.6/5
4.7/5
Pepipost vs. Mailgun – Play by Play
With our developer friendly documentation and 24/7 technical chat support we are all set to help you get things started at Pepipost
Pepipost | Mailgun | |
---|---|---|
Transactional Emails | ||
Bulk/Marketing allowed | ||
SMTP | ||
REST API | ||
Official libraries | ||
Community libraries | ||
Spam score checking | ||
Spam complaint handling | ||
Bounce handling | ||
Shared IPs |
Pepipost | Mailgun | |
---|---|---|
Dedicated IPs | ||
Separate servers | ||
Pre-made email templates | ||
Template engine | ||
Merge tags for personalization | ||
Inbox preview | ||
Scheduled delivery | ||
A/B testing | ||
Email address validation |
Pepipost | Mailgun | |
---|---|---|
RegEx matching on all email headers (“routes”) | ||
Chain multiple filters | ||
UTF-8 encoding | ||
Raw MIME | ||
Strip signature and quote blocks | ||
Spam filtering |
Pepipost | Mailgun | |
---|---|---|
Delivery rates | ||
Bounce rates | ||
Open rates | ||
Click tracking | ||
Unsubscribe tracking | ||
Spam rates | ||
Full message storage | (90 days) | (3 days) |
Pepipost | Mailgun | |
---|---|---|
Automatic tagging | ||
Custom tagging | ||
Custom header metadata tag | ||
Custom tracking domain | ||
Geolocation data | ||
Real-time notifications |
Pepipost | Mailgun | |
---|---|---|
Average inbox rate | ||
Inbox rate per service | ||
Time to Inbox | ||
System availability API | ||
Service availability API |
Pepipost | Mailgun | |
---|---|---|
SPF | ||
DKIM | ||
DMARC | ||
2FA | Arriving Soon | |
Opportunistic TLS | ||
Enforced TLS |
Pepipost | Mailgun | |
---|---|---|
Dedicated support team |
|
NA |
24/7 support |
|
NA |
Email support |
|
NA |
Phone support |
|
NA |
Live chat |
|
NA |
Why customers chose Pepipost over Mailgun

Pricing is very unique we only pay the unopened email.Open email is free.its very interesting pricing.

Ari Eko P.
CTO/CO-Founder

"Pepipost is better than Mailchimp and others we tried...."

Adam W.
CEO at jade Bloom Inc

"Great to use for my E-commerce store for sending notification of product purchased and shipping time. "

Elmer Parsaligan
Philippines

Ready to get started?
30,000 emails free for first 30 days.
Then 100/day free forever.