Power your app's communication with a fast and reliable transactional email service.
Do your transactional emails take forever to arrive (or never make it to the inbox), leaving your customers frustrated? Not with Postmark. You can count on us to get your emails delivered fast and reliably—so you can go back to building great products.
Password reset emails
Receipt and invoice emails
Trial expiration emails
User invitation emails
Notification emails
Welcome emails
# Send an email with curl
# Copy and paste this into terminal
curl "https://api.postmarkapp.com/email" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Postmark-Server-Token: server token" \
-d '{
"From": "sender@example.com",
"To": "receiver@example.com",
"Subject": "Postmark test",
"TextBody": "Hello dear Postmark user.",
"HtmlBody": "<html><body><strong>Hello</strong> dear Postmark user.</body></html>",
"MessageStream": "outbound"
}'
# Send an email with the Postmark Rails Gem
# Learn more -> https://postmarkapp.com/developer/integration/official-libraries#rails-gem
# Add this to your gemfile
gem 'postmark-rails'
# Add this to your config/application.rb file:
config.action_mailer.delivery_method = :postmark
config.action_mailer.postmark_settings = { :api_token => "POSTMARK_API_TEST" }
# Send the email
class TestMailer < ActionMailer::Base
def hello
mail(
:subject => 'Hello from Postmark',
:to => 'receiver@example.com',
:from => 'sender@example.com',
:html_body => '<strong>Hello</strong> dear Postmark user.',
:track_opens => 'true'
)
end
end
# Send an email with the Postmark Ruby Gem
# Learn more -> https://postmarkapp.com/developer/integration/official-libraries#ruby-gem
# Add the Postmark Ruby Gem to your Gemfile
gem 'postmark'
# Require gem
require 'postmark'
# Create an instance of Postmark::ApiClient
client = Postmark::ApiClient.new('POSTMARK_API_TEST')
# Example request
client.deliver(
from: 'sender@example.com',
to: 'receiver@example.com',
subject: 'Hello from Postmark',
html_body: '<strong>Hello</strong> dear Postmark user.',
track_opens: true
)
// Send an email with the Postmark .NET library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#dot-net
// Install with NuGet
PM> Install-Package Postmark
// Import
using PostmarkDotNet;
// Example request
PostmarkMessage message = new PostmarkMessage {
From = "sender@example.com",
To = "receiver@example.com",
Subject = "Hello from Postmark",
HtmlBody = "<strong>Hello</strong> dear Postmark user.",
TextBody = "Hello dear postmark user.",
ReplyTo = "reply@example.com",
TrackOpens = true,
Headers = new NameValueCollection {{ "CUSTOM-HEADER", "value" }}
};
PostmarkClient client = new PostmarkClient("POSTMARK_API_TEST");
PostmarkResponse response = client.SendMessage(message);
if(response.Status != PostmarkStatus.Success) {
Console.WriteLine("Response was: " + response.Message);
}
// Send an email with the Postmark-PHP library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#php
// Install with composer
composer require wildbit/postmark-php
// Import
use Postmark\PostmarkClient;
// Example request
$client = new PostmarkClient("server token");
$sendResult = $client->sendEmail(
"sender@example.com",
"receiver@example.com",
"Hello from Postmark!",
"This is just a friendly 'hello' from your friends at Postmark."
);
// Send an email with the Postmark.js library
// Learn more -> https://postmarkapp.com/developer/integration/official-libraries#node-js
// Install with npm
npm install postmark --save
// Require
var postmark = require("postmark");
// Example request
var client = new postmark.ServerClient("server token");
client.sendEmail({
"From": "sender@example.com",
"To": "receiver@example.com",
"Subject": "Test",
"TextBody": "Hello from Postmark!"
});
We believe that every customer deserves great delivery. It’s just part of the deal when you use Postmark.
Learn how to get the most out of Postmark with our easy-to-follow getting started guides.
You will never be charged extra for great support. We’re always here to help whether it’s through email, live-chat, or a 1-on-1 call.
We maintain endpoints in several AWS Regions around the world. We route to the closest endpoints to your servers for the fastest response times possible, resulting in very low latency.
We value your trust and work hard to protect your information—and that of your customers. Postmark is GDPR compliant.
We guide you through setting up DMARC and SPF to help protect your domain from spoofing.
It was incredibly easy to setup Postmark. In under 10 minutes I had the first test working and rolling it out to production was just as easy.