Grow with us: Join Postmark's new referral partner program and start earning
x

Reliable email delivery for startups

Great deliverability, simple monthly pricing, and 45 days of email history as standard. Postmark is the ideal provider for your startup’s application emails.

Bootstrapping your startup? We’ve got something special for you →
API

Start sending in minutes

With API libraries for pretty much every programming language you can think of, Postmark fits seamlessly into any stack.


// 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 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 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 Python library
# Learn more -> https://postmarkapp.com/send-email/python

# Install the Postmark Python library with pip from the command line:
pip install postmarker

# Import
from postmarker.core import PostmarkClient

# Create an instance of the Postmark client
postmark = PostmarkClient(server_token='POSTMARK-SERVER-API-TOKEN-HERE')

# Send an email
postmark.emails.send(
  From='sender@example.com',
  To='recipient@example.com',
  Subject='Postmark test',
  HtmlBody='HTML body goes here'
)

// 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.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!"
});

# 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: POSTMARK_API_TEST" \
  -d "{From: 'sender@example.com', To: 'receiver@example.com', Subject: 'Hello from Postmark', HtmlBody: '<strong>Hello</strong> dear Postmark user.'}"

Switching to Postmark?

Check out our handy migration guides

Official API libraries for all your favorite languages and frameworks.

Delivery Speed

Fast and reliable email delivery that scales

Enjoy the same great deliverability from your very first email, to your billionth. We constantly monitor our delivery speeds and publish the data for all to see.

  • Gmail

  • Apple

  • Hotmail

  • AOL

  • Yahoo

Time to Inbox data updated every 5 minutes
Activity Icon

Complete insight into your sending

Get full visibility into your sending with 45 days of email history as standard (also customizable from 0 to 365 days), including open and click tracking to measure how users engage with your emails.

Activity screenshot showing filter tools
Search, filter, and view up to 365 days of detailed message activity from the activity feed.
Message events screenshot
Detailed message event logs for every email.
Message HTML and plain text preview screenshot
Full HTML and plain text content for every message you send.
Templates Icon

All your email templates in one place

Postmark’s templates API makes it easy to create and manage all the emails your application needs to send. Get started with our collection of easily customizable open source templates, or code your own.

Pre-built templates page screenshot
Start from a variety of pre-built templates or build your own.
Template editor screenshot
Edit and tweak your templates directly in Postmark.
Template preview screenshot
Preview your templates with easily updatable test data.
  • Anna Ward Anna
  • Ignacio Roig Ignacio
  • Natalie Keshlear Natalie
  • Natalie Robles Natalie

Meet our knowledgeable support team

Email is complicated. Our customer success team are always on hand to help you get set up, investigate bounce reports, or answer any other questions you have.

82%
Customer Happiness Rating
  • 😃 Great (82%)
  • 🙂 Okay (4%)
  • 😔 Not Good (13%)

Customer feedback gathered through Help Scout over the past 60 days.

The best email provider for startups

Join thousands of startups that already trust their email delivery to Postmark.