Send & Receive Transactional Emails
Independent, privacy-focused, and hosted in the EU
Shout out to @MailPace for the great email service! Just switched @GoRails over and added them as an SMTP provider for Jumpstart Pro.
A transactional email sender that not only doesn't default spy pixels, but won't allow them 😍
Shoutout to @MailPace great product & clean API for transactional emails. Really loving it
Im using @MailPace after a reco from @dhh Truly happy with it.
There’s also Mailpace, which is my go to - never had issues and has great support!
It’s affordable, delivery is fast, and there’s even a gem for RubyOnRails to simplify setup. @MailPace has the fastest support I have ever experienced. Impressive
@MailPace works really well (SMTP or their API)
MailPace can only be used for Transactional Email - think password resets, notifications and welcome emails. We don't mix them up with slow, bulk marketing emails like other providers
We're not just an API layer to another email service. We run our own SMTP servers, the way email was designed
We don't do helpdesks, NPS scores and clueless support scripts. Email us anytime and an engineer will get back within a few hours:
support@mailpace.com
We're not owned by a billionaire, we're a small, independent company helping to get Transactional Emails to inboxes for our customers
Our API and interface is super simple & easy to use, and we have code libraries and integrations for most frameworks ready to go
We refuse to invade a person's privacy. Unlike other transactional email providers, we don’t support spy pixels or click tracking
We have a five-layer approach to ensuring that our service is never used for spam. Keeping our reputation high and inboxes cleaner
Our Transactional Emails arrive in seconds, and we continuously monitor and optimize our time to inbox scores to get emails to inboxes fast!
We use 100% carbon-neutral, renewable energy powered servers. Our servers are provided by local bare-metal & VPS providers, not massive cloud companies
Our pricing works for solo developers and small shops all the way up to large enterprises, and we only charge per email sent, not per recipient.
MailPace supports all your favourite languages and has integrations for popular frameworks
curl "https://app.mailpace.com/api/v1/send" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "MailPace-Server-Token: API_TOKEN_GOES_HERE" \
-d '{
"from": "example@domain.com",
"to": "person@somewhere.com",
"subject": "Hello from MailPace.com",
"textbody": "Hello"
}'
const MailPace = require('@mailpace/mailpace.js');
const client = new MailPace.DomainClient('API_TOKEN_HERE');
client
.sendEmail({
from: 'test@test.com',
to: 'test@test.com',
subject: 'test',
htmlbody: 'HTML Email',
})
.then((r) => {
console.log(r);
});
require 'uri'
require 'json'
uri = URI.parse('https://app.mailpace.com/api/v1/send')
request = Net::HTTP::Post.new(uri)
request.content_type = 'application/json'
request['Accept'] = 'application/json'
request['mailpace-Server-Token'] = 'API_TOKEN_GOES_HERE'
request.body = JSON.dump(
{
'from' => 'test@test.com',
'to' => 'test@test.com',
'subject' => 'Hello from MailPace.com',
'textbody' => 'Hello'
}
)
req_options = {
use_ssl: uri.scheme == 'https',
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
$url = 'https://app.mailpace.com/api/v1/send';
$data = array(
'from' => 'test@test.com',
'to' => 'test@test.com',
'subject' => 'Hello from MailPace.com',
'textbody' => 'Hello'
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n" .
"Accept: application/json\r\n" .
"mailpace-Server-Token: API_TOKEN_GOES_HERE\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
emailClient := gomysmtp.NewClient("mailpace_TOKEN")
emailPayload := gomysmtp.Payload{
From: "test@test.com",
To: "test@test.com",
Subject: "Hello from MailPace",
Textbody: "Hello",
}
err := emailClient.Send(emailPayload)
if err != nil {
// handle err
}
import requests
headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"MailPace-Server-Token": "API_TOKEN_GOES_HERE"
}
data = {
"from": "example@domain.com",
"to": "person@somewhere.com",
"subject": "Hello from MailPace.com",
"textbody": "Hello"
}
data = json.dumps(data)
response = requests.post('https://app.mailpace.com/api/v1/send', headers=headers, data=data)
$ gem install mailpace-rails
$ rails secret
$ rails credentials:edit
Add to your credentials
mailpace_api_token: "TOKEN_GOES_HERE"
In your app
config.action_mailer.delivery_method = :mailpace
config.action_mailer.mailpace_settings = { api_token: Rails.application.credentials.mailpace_api_token }
composer require mailpace/mailpace-swiftmailer
Configure the `.env`
...
composer require symfony/oh-my-smtp-mailer
Configure the `.env`
# .env
MAILER_DSN=mailpace+api://API_TOKEN@default
{:mailpace_client, "~> 0.1.0"}
Add to Application Config:
config: :mailpace_client, token: "TOKEN_GOES_HERE"
mailpaceClient.send_email(%mailpaceClient.EmailSendRequest{
from: "test@test.com",
subject: "Hello from MailPace",
textbody: "Hello",
to: "test@test.com"
})
Don't see what you need? Email us and we'll build it for you!
We are fully independent and self-funded. We're a small business, not a major corporation backed by billionaires or unscrupulous investors
We use a five-step process to filter outgoing emails for spam. Don't let your users send spam, and increase your deliverability
Addresses that hard-bounce are automatically restricted from receiving future mail, reducing accidental spam
Keep track of your sending and email deliveries with our automated webhook triggers
Cancel anytime, with no obligations