Set up DMARC and see who's sending email using your brand's domain.

Updates to Postmark’s JS and PHP libraries

We’ve got libraries in most popular languages to make it as easy as possible for you to add Postmark to your projects. Last month, our engineers made improvements to two of our most popular libraries:

Show details

JS library updates

We released a new major version (4.0.0) of our Node JS library. This version now relies on newer libraries for improved security. With this release, we no longer support Node versions that have reached end of life, so you’ll need to use Node version v14.0.0 or later. If you use older Node versions for which active and security support ended, you will need to use older library versions (3.x.x).

Check out the Postmark JS library and view all the changes we’ve made.

PHP library updates

We have a new engineer on the Postmark team (Welcome Eli! 🙌) and he has given our PHP library some much needed love. You can check out all details in the release notes but in a nutshell:

  • We closed out all open issues and worked through most open PRs from the community (thanks for your contributions, friends!)

  • We added Postmark’s new Data Removal API to the library.

  • We updated the unit test framework.

Check out the Postmark PHP library and view all the changes we’ve made.

If you have any questions or feedback about the changes, we’d love to hear from you.

Introducing the Postmark Data Removal API

You can now erase recipient data from your Postmark account with the help of our new Data Removal endpoint.

Show details

Previously, if you needed to delete any recipient data from your Postmark account, you would reach out to our support team who would process the data removal on your behalf.

Earlier this summer, our team started working on a solution for data deletion requests via our ”Help a CS friend out” Experimentation week: a new API endpoint that would make this process easier for customers and Postmark's Customer Support team.

Now, with our new Data Removal API you can automate the whole process, erasing recipient data from your Postmark account, and reviewing the status of a Data Removal request.

With this new endpoint, you can:

  • Remove blockers in the Data Subject Request (DSR) process

  • Remain GDPR and CCPA compliant

  • Gain peace of mind for yourself and your clients

Since this endpoint erases data, we have it turned off by default - reach out to us in support and we can enable it for your account. Check out our API documentation to learn more.

More options for putting data removal on auto-pilot

Another option for automating the data removal process (without having to implement a new API) is our Retention Add-On, a handy add-on that lets you control how long Postmark keeps your data.

By default, Postmark stores message content and activity data for 45 days, but with this add-on, you can decrease your data retention and make sure Postmark will purge all customer data after 7 or 28 days. This is a great option for all senders who frequently deal with DSR requests under GDPR.

October, 2023

Changes to Email API validation – Action may be required

We're making some improvements to our API infrastructure and as a result, we're changing how we handle the validation of your API requests.

In the past, Postmark's email API has been pretty forgiving to requests that are passed incorrectly. In some cases, we've accepted invalid request headers and incorrectly passed JSON body key/value pairs—even if they didn't match our API documentation. Going forward, we'll start to reject invalid requests and return an error message instead.

So if you see Postmark return error messages to API requests that were previously accepted without issues, please double-check if your request is actually valid. We recommend using a tool such as JSONLint to check your request payloads for any obvious validation errors, and if that shows no issues then refer to our API documentation pages and make sure your request matches the schema(s) we are expecting.

Here are some common reasons why your request might be invalid.

Show details


We’ll release the new API infrastructure on November 28th, 2023 but we’ll be running a set of blackout periods before where all traffic is sent over the new Email API infrastructure. Along with greyouts before where some traffic is sent to the new API infrastructure to help surface possible issues. Here’s what to expect:

  • Up until November 28th greyouts where a small subset of traffic is sent through the new infrastructure.

  • November 15th: First blackout period from 10:00am -12:00pm ET (2 hours)

  • November 15th: Second blackout period from 5:00pm - 7:00pm (2 hours)

  • November 28th: New API infrastructure is released for Email API.

What’s changing

There are two places where a request made to our Email API could be invalid:

  • Content-Type and Accept headers
    If your request headers do not include "Accept: application/json" and "Content-Type: application/json", or these headers are set to different values such as "application/www-x-form-urlencoded", this will result in a 415 error status code.

  • JSON request body
    Please make sure your request body is valid JSON and has the correct field types. For example:
    • Array and object fields (such as Headers, Attachments and Metadata) should not be passed as strings. If no value is required, simply leave the field out (or provide an empty array/object.)

    • JSON strings must be wrapped in double quotes. Single quotes are not valid JSON string wrappers and will result in an error

    • Newlines are not valid within JSON, unless they are properly escaped (ie. “\n”). This is particularly relevant for HtmlBody and TextBody fields, which often contains newline characters

    • The above would result in a 422 status code response from our API.

This applies to the following API endpoints:


Here are some examples:

Invalid Headers

curl "" \
 -X POST \
 -H "Accept: application/json" \
 -H "Content-Type: application/www-x-form-urlencoded" \
 -H "X-Postmark-Server-Token: server token" \

Valid Headers

curl "" \
 -X POST \
 -H "Accept: application/json" \
 -H "Content-Type: application/json" \
 -H "X-Postmark-Server-Token: server token" \

Invalid JSON request body


Valid JSON Request Body

"Headers": [
 "Value": "value"

Invalid HtmlBody with newlines

 "HtmlBody": "<html>
 <div>This is not valid</div>

Valid HtmlBody with newlines

 "HtmlBody": "<html>\n<body>\n<div>This is valid</div>\n</body>\n</html>"

What you need to do

For messages that are failing with a 415 response code, you’ll want to review the Accept and Content-Type request headers to ensure they match our documented headers for the Email API endpoint. If there is a header that is missing, or is not set to application/json, you’ll need to add or update them accordingly.

If you’re receiving a 422 “Invalid request” response, review our Email API endpoint documentation to ensure you’re passing the correct field types as documented.

If you have any questions or need any help troubleshooting issues, please let us know.

July, 2023

Static IP Deprecation: Postmark will no longer support IP allow-listing for our API

In the coming weeks, we’ll be making some changes to Postmark that will result in our API no longer being accessible on a static set of IPs. As such...

  • IP allowlisting for our API will no longer be supported starting August 23, 2023.
  • This change only applies to Postmark’s API and does not affect our SMTP and Webhook IPs.
Show details

Why are things changing?

Postmark’s infrastructure has changed a lot over the years, evolving from physical datacenter racks to an almost completely cloud-based system. We are using more and more managed services that provide a more secure and maintainable platform for Postmark so we can provide you with a more reliable and more scalable product. As a side effect of this, it is becoming increasingly difficult to support static, predictable IPs for various parts of our system.


We’ll retire support for static IPs on August 23, 2023 but we’ll be running a set of blackout periods before that to help you (and us!) catch any issues. Here’s what to expect:

  • July 26: First blackout period
    From 12.00pm-12.30pm ET (30 min)

  • August 2: Second blackout period
    From 6.00am-6.30am ET (30 min)

  • August 9: Third blackout period
    From 4.00am to 4.00pm ET (12 hours)

  • August 23: Final Cutoff

My Postmark setup relies on allowlisting. What do I need to do now?

We realize this change may be disruptive for some folks who rely on allowlisting, but there are a few alternative solutions you may wish to consider:

  • DNS lookups
    If you wish to continue allowlisting specific IPs, you may do so by performing DNS lookups to obtain the active IPs our API is advertising at any given time. This can be done by querying the A record for (ie. nslookup) at regular intervals based on the record’s TTL, and using this list of IPs to generate whitelist rules for your outbound traffic.

  • Host header allowlisting
    You may wish to configure your proxy/firewall to allow traffic based on the “Host” header (if it supports this functionality). This is a simple solution that requires very little effort, and is decoupled from IP addresses, although the downside is that the host header is more susceptible to forging than IP addresses (ie. host header injection). In some scenarios this may not be a desirable option.

  • IP range allowlisting
    There is a range of IPs that we can predict for our API, and thus we can provide a CIDR block that would cover this range, however it is a truly massive range (AWS infrastructure covers a huge portion of internet addresses) and it largely defeats the purpose of allowlisting. However, it is an alternative in case you have no other options.

We understand that these solutions aren’t on par with the static IP allowlisting that you might have in place right now, but we hope these approaches provide a helpful starting point for you to implement a solution that meets your requirements. If you have any questions or need any guidance around the specific products you may be using, just let us know. We’re happy to help!

Postmark's invoice emails now include a PDF receipt

This is a small update, and one that's been bothering some of you for a while: Postmark's invoice emails now include a PDF receipt, making bookkeeping less cumbersome.

Show details

In the past, when you (or your accountant) wanted to grab a PDF copy of your Postmark invoices for record keeping, you had to log into your Postmark account, navigate to the billing section, and generate a PDF copy. That's clearly not a fun process—especially when you have to repeat this process monthly.

Starting today, you'll no longer have to go through that trouble. Your PDF receipt will be attached to your invoice email, so it will automatically land in your inbox whenever we process a payment.

Pro tip: Did you know you can add billing contacts to your Postmark account? You can specify the additional email address(es) that will receive billing notifications (and those handy PDFs, too)—saving yourself that additional task of forwarding the email to the right folks.

June, 2023

WordPress plugin and CX App updates

Our WordPress plugin now supports metadata, and we made some improvements to content personalization in the CX App for ActiveCampaign.

Show details

Postmark’s WordPress plugin now supports metadata
After adding tag support a few months ago, our WordPress plugin now also supports adding metadata to messages. It works by adding a filter for ‘postmark_metadata’ that hooks into a function that returns the array of metadata you wish to attach to a message.
Check out the full details on the official plugin page.

Improvements to content personalization in the CX App
Until recently, the Postmark CX App in ActiveCampaign used a different syntax for content personalization than the rest of the AC platform. With this fresh update, contact fields and custom contact fields have been aligned with the rest of the AC platform.
This means you can now add personalization to your ActiveCampaign templates using contact fields, using either the %UPPERCASE% or %camelCase% syntax. All the info is available on this support page.

May, 2023

Introducing the Retention Add-on

Postmark stores message content and activity data for 45 days by default. But what if 45 days is too short? Or too long? With our new Retention Add-on you can adjust retention from 7-365 days.

Show details

We're so excited to share that you now have full control over how long you'd like to keep message content and activity data in your Postmark account. With our Retention Add-on you can:

  • Increase your data retention to up to a year. Maybe you're delivering digital goods via email and need to keep proof that you actually sent those emails. Or your support team would love deeper visibility into past email activity. Whatever your use case, setting longer retention time will help with troubleshooting, record-keeping, and compliance.

  • Decrease your data retention and make sure Postmark will purge all customer data after 7 or 28 days. This is a great option for all senders who frequently deal with DSR requests under GDPR.

Curious to learn more? Read all about this update on the Postmark blog →

March, 2023

Updates to the Postmark Wordpress Plugin and Java Library

Postmark's WordPress Plugin now supports tags and we've updated our Java library to fully support newer versions of Java JDK.

Show details

Postmark’s WordPress Plugin now supports tags

Tags are a handy tool to help you categorize your emails in Postmark — and we now added tag support to Postmark’s WordPress plugin! If you’re using the Postmark plugin to send your WordPress emails, you can now apply tags to your messages using one of the following two options:

  • Set an X-PM-Tag message header, i.e. array_push( $headers, ‘X-PM-Tag: PostmarkPluginTest’ ); where you are calling wp_mail().

  • Add a filter for ‘postmark_tag’ that hooks into a function that returns the tag you desire.

Please note that using the ‘postmark_tag’ filter will override a tag set via message headers.

A big thank you to our friend DorZuberi for requesting this update and working with Patrick from our Engineering team to get this PR out the door.

Get Postmark’s Wordpress Plugin →

Updates to Postmark’s Java library

We have updated our Postmark Java library to provide better support for the Jakarta community and to fully support newer versions of Java JDK. Igor from our QA team took care of these requests with the latest updates. Postmark’s Java library now provides full support for Java versions 16, 17, 18, and 19.

Check out Postmark’s Java client library →

February, 2023

Introducing Postmark’s new Status API (powered by Sorry™)

Our friends at Sorry™ (that’s the service we use to run Postmark’s status page) introduced a new API that makes it easy to build Postmark’s status information into your workflow. Here’s how you can put it to work.

Show details

As a Postmark customer, you deserve to feel that your emails are in good hands, with a service and team you can count on—including when things don’t go as planned. That’s why we’ve teamed up with the good folks at Sorry™ to bring you a status page that helps you stay on top of any incidents or planned maintenance. Until now, our Status page was already giving you the option to receive status notifications via email, Slack, or Microsoft teams — and with this newest addition, the Postmark Status API, it’s even easier to stay on top of Postmark’s current status.

With the new Status API, you can integrate Postmark’s status directly into your processes and workflows, without having to go and manually check our status page (or your emails) for updates. Whether you’re looking to get a quick overview of our overall system status, build your own notification system, or get details of an incident so you can add them to your own status page or internal tools, with the new Status API, you can do all of that.

Check out the API documentation →

The Postmark team (and our friends over at Sorry App) would love to hear what you think about the new API. So if you have any thoughts or feedback, please let us know.


I used Postmark’s old status API — what do I need to do?

Our old Status API has been unavailable since we migrated our status page to Sorry, and we’re excited that we can now offer this functionality to you again. But please note that the API endpoint URLs as well as the JSON responses for Sorry’s new API are different from the one we used to provide, so you’ll have to make some changes to your existing integrations to get them up and running again.

Here are a few things you should know:

  • The main API endpoint URLs have changed from… (OLD) to… (NEW)

  • Sorry App uses a different nomenclature to describe the elements of our status page. For example, what we used to call ‘incidents’ in our old API are ‘notices’ in Sorry. If you’d like to get a list of all incidents, things have changed from
    GET (OLD) to
    GET (NEW)

  • Please be aware that the keys and values in the JSON responses follow different formats than what you’ve seen in Postmark’s old status API.

Check out Sorry’s API docs for a detailed overview of all available endpoints and JSON responses.

Scheduled maintenance on February 17, 2023

On Friday, February 17, 2023, Postmark will be performing necessary database maintenance starting at 9:00 pm Eastern Time. We expect the maintenance to last about 2 hours.

Show details

On Friday, February 17, 2023, Postmark will be performing necessary database maintenance starting at 9:00 pm Eastern Time. We expect the maintenance to last about 2 hours.

Here’s what you can expect during this maintenance window:

  • Our non-sending API endpoints and Postmark’s Web UI may be unavailable intermittently for up to 20 minutes.

  • While non-sending API endpoints are unavailable, we will be accepting mail via the API and SMTP.

  • Your messages might get queued for a short period of time during our maintenance window, and they will get processed as soon as our engineers complete their work. This applies to outbound messages sent via the API and SMTP as well as any inbound messages. We will update you when the queueing starts and ends during the maintenance period.

Throughout the maintenance window, we will post updates on our Status page to keep you updated on the progress, including when exactly messages will be queued. Please get in touch if you have any questions or feedback.

December, 2022

We’ve moved to a new provider to power Postmark’s status page

For many years, we’ve worked with our own, home-built status page to keep customers posted about any incidents. We learned the hard way that this solution wasn't as reliable as we needed it to be (ouch!) so we decided to quickly move to a new provider (it’s our friends at Sorry) to handle our status page going forward.

Show details

If you visit now, you’ll see that the page has a new look. But most importantly, Sorry makes it easier for our team to share incident updates with you fast and reliably. Plus, Sorry gives you plenty of options to customize how you’d like to receive incident notifications from Postmark. In addition to email notifications, you can choose to receive alerts on Slack or Microsoft Teams.

If you had previously subscribed to email alerts for status updates, you don't have to subscribe again on the new page—we moved that email list over to Sorry.

🚨 Important information for users of our Status API and the Postmark Slack App:

As we migrated our status page, we had to temporarily take down our Status API. We’re working on a new API solution and will keep you posted on our progress.

Plus, since the Postmark Slack app is using our Status API, incident updates via Postmark’s Slack app currently don’t work either. If you’d like to continue to receive Postmark status updates via Slack, head over to our new status page and sign up to receive Slack notifications over there.

Enable Slack notifications via Sorry App

Where can I find the Time-to-Inbox (TTI) data?

Our TTI stats now have a new home as well. If you're curious how long it takes us to deliver an email to different inbox providers, you can find our stats here:

September, 2022

Improvements to the Postmark App in ActiveCampaign

Sending transactional emails from within ActiveCampaign just got easier: If you’re using ActiveCampaign to create marketing automations, you will now find the option to send a transactional email in the main “Sending Options” section of the automation builder.

Once you’ve authenticated your Postmark account, you’ll be able to integrate all kinds of transactional emails—whether that’s a receipt, an event reminder, or more—into your automations.

Get started with Postmark in ActiveCampaign →

Show details

Plus, here are two more updates to the Postmark app we thought you might like:

  • You can now connect to Postmark using OAuth rather than having to find, copy, and paste your API keys—for a faster, more seamless experience when connecting Postmark and ActiveCampaign.

  • You can now set tags when creating a transactional email in ActiveCampaign. Tags come in handy when you’d like to categorize and view your messages within the Statistics and Activity tab in your Postmark Message Stream.

10 ways to use Postmark and ActiveCampaign together

Together with our friends at ActiveCampaign, we’ve put together 10 transactional email automation recipes, that’s pre-built sample automations that you can use right away—or use them as inspiration to build your own automations.

See all transactional email recipes →

Upcoming changes: Postmark will no longer support API requests over HTTP

To ensure the continued security of our systems, we wanted to let you know about an upcoming change to our API access. In short, we want to ensure Postmark—and your account—is as secure as possible, and we've found that there is a small portion of our traffic that is using HTTP rather than HTTPS.

Show details

What's changing

Starting on November 30th (10 am EST), we will no longer be supporting HTTP connections to our API. That's three months away, but we want to give any affected customers—yourself included—a good bit of time to prepare for this change.

What you need to do

To avoid any disruptions with your email processing, please update any HTTP connections to our API to the secure version (HTTPS). For most scenarios, this is as simple as finding any place in your application/service where you call an API URL for Postmark starting with HTTP. Like this…

And change it to this:

That's it. However, if you have any further questions or find a configuration where you aren't sure what to change, reach out to our support team and we'll do everything we can to help out and give you any necessary instructions.

The timeline

We want to make this as easy as possible for all customers, so we'll do the following:

  • Sept. 1st, 2022 (today): Communicate the plan to make these changes (via email and here, on our updates page)

  • Sept 12, 2022: Reminder announcement

  • Sept. 21st, 2022: Reminder announcement

  • Oct. 4th, 2022: Reminder announcement

  • Oct. 13th, 2022: First blackout period. We'll reject access to API endpoints using HTTP for a 60 minute period

  • Oct. 27th, 2022: Second blackout period (8 hour period from 11 am to 7 pm EDT)

  • Nov. 16th, 2022: Third and final blackout period (1:00 pm EST Nov. 16th to 12:59 pm EST Nov. 17th)

  • Nov. 28th, 2022: Final reminder announcement

  • Nov. 30, 2022: Final cutover date (10 am EST)

We understand these kinds of changes can be inconvenient, but it's a step that benefits everyone. And we appreciate your cooperation on this—thanks so much!

August, 2022

Send transactional emails from ActiveCampaign with the new Postmark App

With the new Postmark App for ActiveCampaign, you can set up and trigger transactional emails from within ActiveCampaign, making it easier than ever to embed transactional emails into your marketing automations.

July, 2022

Introducing the Postmark App for Stripe

With the brand new Postmark App for Stripe, you can send emails to your customers without having to leave Stripe. Whether you’re looking to send payment reminders, win-back campaigns, promotions, or anything in between, you can send emails with a single click, see open and click activity right within Stripe, and build relationships that grow your business.

May, 2022

Postmark has been acquired by ActiveCampaign

We’re excited to share that Postmark and DMARC Digests have been acquired by ActiveCampaign. With the support of ActiveCampaign, we’ll have the resources to make Postmark even better—and we can’t wait to take you along for the ride.

Read more on the blog →

Show details

What does this mean for me as a Postmark customer?

We know you might have some questions. Like…

  • Will Postmark’s pricing change? (No.)

  • Will Postmark continue to be available as a standalone product or will you integrate into ActiveCampaign? (Yes and yes.)

  • Will Postmark stay yellow? (Oh yes!)

We’re answering these questions and more in our public and ever-evolving FAQ. Do you have a question we didn’t cover? Let us know and we’ll get it added (and give you an answer, obviously.)

Read the FAQ

February, 2022

Keeping your account secure: Account-wide two-factor authentication

If you’re an account owner or admin, you now have the option to require everyone on your team to set up two-factor authentication to protect your Postmark account from unauthorized access.

Show details

Two-factor authentication (also lovingly referred to as 2FA) is a simple and highly effective way of improving the security of your Postmark account. Once enabled, Postmark will require a password and a second form of authentication—either via SMS or app authentication—during the login process.

This additional layer of security protects your account from unauthorized access. Should your password ever get compromised or stolen, you can still rest assured that only you can access your Postmark account.

Postmark has supported 2FA for years, but now we’re making it easier for account owners to ensure that everyone on the team is putting this safeguard in place.

New: Enforce account-wide two-factor authentication

If you’re an account owner or admin, you now have the option to require everyone on your team to set up two-factor authentication. Here’s how it works:

Navigate to the Account overview page in your Postmark account. You’ll find the option to enable account-wide 2FA on the top of that page:

Once enabled, all users on your Postmark account who haven’t set up 2FA will receive an email with instructions on how to get set up—and they will no longer be able to log into Postmark until that’s done.

A user who doesn’t have 2FA set up won’t be able to log into Postmark before completing this step.

Good to know:

  • You can only enable account-wide two-factor authentication if you’ve set up 2FA for yourself first. Here’s how you do that.

  • We don’t require a phone number for 2FA. Some services only support 2FA via SMS, but we think you shouldn’t be forced to share your phone number if you don’t want to. So at Postmark, you can verify your identity via SMS or an authenticator app of your choice. We support Google Authenticator, Authy, and 1Password.

December, 2021

Updates to the Sender Signature flow

When you’re setting up a new Sender Signature—that’s the email address we’ll use as the FROM email when sending your messages—the owner of that email address has to confirm that Postmark is allowed to send email using their address. You can now add a personal note to that confirmation email to provide additional context.

Show details

Especially Postmark customers who’re sending on behalf of others will find this helpful. Let’s look at an example:

Sweeet is a (totally fictional) platform that helps bakeries handle pre-orders and promote special offers via newsletters, and they’re using Postmark to send all those emails. When a new bakery, let’s call them Donut Heaven, signs up, they’ll need to confirm that Sweeet can send newsletters using Donut Heaven’s domain. That confirmation email is sent via Postmark—and that’s been causing some confusion in the past. Donut Heaven signed up with Sweeet, so why are they getting an email from Postmark? We get it. It really is a bit confusing.

To provide additional context and to make the Sender Signature confirmation process smoother for you and your customers, we now let you add a personal note to the confirmation email.

If you’re creating a new Sender Signature via the Postmark UI, you’ll see a new text field to add your personal note: 

If you’re creating new Sender Signatures via the API, you can use the new "ConfirmationPersonalNote" field to add your personal message. 

We hope this will make it easier for those of you who use Postmark to empower your customers to send email.

Let us know what you think! And as always, please reach out if you have any questions.

Learn more:

Update on the recent Log4j vulnerability

As you are most likely aware by now, the recent Log4j vulnerability has affected many companies. After the exploit was made public on December 10th, our engineers immediately began a thorough investigation to determine if our systems were vulnerable.

Show details

We do not use Java or Log4j in our products, including Postmark. We did, however, identify an internal system that was vulnerable. A component of our logging system uses Log4j to ingest logs and transfer them to a searchable database that is used internally by our staff. We immediately shut down this system and rebuilt it with a version of Log4j that is not vulnerable.

This logging system does not have access to customer credentials (including passwords and payment information), API keys, or templates, although some log messages do include headers from emails sent by Postmark. That said, we conducted a deep review of the affected system over the past few days and there is no evidence that suggests unauthorized access of any kind.

We will continue to remain vigilant and investigate this incident further, and will update this post if we find any additional information or evidence of unauthorized access. If you have any questions, please reach out at any time. We’re here to help.

A single place for all Postmark integrations

As an API-first product, Postmark is designed to integrate seamlessly with your favorite tools and services—and our brand new integrations page makes it easier than ever to find Postmark integrations that fit your needs.

You’ll find handy integrations with popular content management systems like WordPress and Craft CMS. You can learn how to integrate Postmark and Slack. And so much more.

Show details

⭐️ Featured: Marketer-friendly tools that integrate with Postmark

Since we introduced Broadcast Message Streams and the ability to send promotional emails with Postmark, some customers asked whether we now offer list management, a WYSIWYG editor, and other tools for marketers, too. We don’t. Our small team focuses on what we do best: providing great email delivery infrastructure. But there are great, marketer-friendly tools out there that integrate with Postmark. Here are a few of our favorites:

Marketing tools for list management, campaign creation, and automation

There are countless email marketing services out there that provide marketers with the tools they need to manage lists, set up and send email campaigns, and wrangle marketing automation. Here are a few great ones that integrate with Postmark:

  • Mailcoach is a self-hosted email marketing platform that offers list management, automations, drip campaigns, and a slick UI to make managing your email marketing a breeze—and Postmark will handle the email delivery.

  • Craft Campaign is a powerful email marketing plugin for Craft CMS that brings mailing lists, campaign management features, and segmentation tools right into Craft, with Postmark as your sending service.

  • With, you can manage complex lists and segments, create thoughtful automated campaigns using your data, and build your emails using an intuitive drag-and-drop WYSIWYG editor.

Handy email design tools that integrate with Postmark

Designing HTML emails doesn't have to be a pain. If you (or your marketing colleagues) are looking for an email editor to design beautiful emails without the headache, you should check out these tools:

  • With Stripo's drag-and-drop email builder, designing great-looking emails is fast and easy—without you having to write a single line of code. And once you're happy with your emails, you can export your HTML email into Postmark's templates with a single click.

  • Emailify is a handy Figma plugin that allows you to design beautiful, responsive HTML emails in Figma. Thanks to the integration with Postmark, getting your email designs into Postmark is a piece of cake.

See all Postmark integrations →

Are you using an integration that’s not on this list yet? Or would you like to see any other integrations? Let us know. We’d love to hear from you.

July, 2021

Introducing SMTP Tokens: Expanded support for using Broadcast Message Streams via SMTP

With our new stream-specific SMTP Tokens, you can specify what Message Stream you’d like to use to send email—without having to add custom headers.

Show details

When sending mail with Postmark via SMTP, there used to be only one option for you to specify a Message Stream: You’d authenticate with a Server Token and specify the Message Stream you’d like to use with the `X-PM-Message-Stream` header (that’s the Message Stream header). If you have the ability to set custom headers, this works great. But we’ve heard from some of you that your SMTP clients don’t let you set custom headers, making it impossible to define a Message Stream for sending. That’s not cool, so we set out on a mission to fix that!

Say hello to our brand new Message Stream SMTP Tokens! 🎉

June, 2021

Introducing Sandbox Mode, a safe environment for email testing

Whether you’re new to Postmark and are still exploring or are working on new ways to integrate Postmark with your products, we know that sometimes you just want to try things out.

We’ve heard from many of you that you’d love to see a safe space to test and experiment with Postmark—without the risk of accidentally sending tests to real customers or damaging your sender reputation. Sandbox Mode, our newest addition to Postmark, lets you do just that.

Learn more →

Making it easier to get started with Postmark

A while ago, we’ve introduced Message Streams and Broadcast sending with Postmark—and because there’s so much more you can do with Postmark now, we’ve made a few in-app tweaks to make it easier to navigate all that Postmark has to offer.

Show details

In-app guidance to help you navigate Servers and Message Streams

What’s a Message Stream? Why are there different ones? And what in the world is a Postmark Server? Great questions, friends! Those should not stay unanswered. That’s why we’ve added a bunch of contextual help throughout the Server and Message Streams pages in the Postmark app to help you get started on the right track.

Is this message a broadcast or a transactional email? We help you decide

We know that the lines between transactional and bulk email aren’t always very clear, so we’ve created this handy quiz that helps you decide whether your email is a better fit for our broadcast or transactional streams. If you pick the right one, we can guarantee the best deliverability for all types of emails.

Just answer a few simple questions about the message you’re planning to send and we’ll tell you what stream is the best fit for your email.

Take the quiz →

Creating sender signatures by default

Before you can send emails with Postmark, you’ll need to verify your FROM address. We learned that most Postmark customers use the email address they signed up with to send their first email, so we’re now automatically setting up the sender signature for that email address. If you’re new to Postmark, that’s one less manual step between you and your first email. ✉️ 🚀

Design updates

If you’ve been with Postmark for a while you might notice that some areas of Postmark look a little different. We made a handful of design changes to improve contrast and legibility throughout the app.

As always, if you have any feedback, please let us know. We'd love to hear from you.

May, 2021

Upcoming changes to attachment validation — action may be required

Historically Postmark has accepted invalid content-types and content-id for attachments. To accommodate future infrastructure improvements, we’re changing how we handle attachment validation. After June 3rd, we will start to reject content-types and content-ids that are invalid. If you send messages without attachments, no changes are necessary. This also only applies to outgoing messages.

Show details

What’s changing

There are two places where an attachment could be invalid:

  • content-type will need to be a valid MIME type (for example application/pdf or image/png).
  • content-id will need to contain only ASCII characters, no spaces or non-ASCII characters are allowed. This follows RFC2392.

In the majority of cases the invalid data stems from using the filename as the content-type and/or content-id. Instead, the correct MIME type should be specified in the ContentType field, and an appropriate unique ContentID should be generated for each attachment, For example:


 "Name": "readme (1).txt",
 "Content": "dGVzdCBjb250ZW50",
 "ContentType": "readme (1).txt",
 "ContentID": "readme (1).txt"


 "Name": "readme(1).txt",
 "Content": "dGVzdCBjb250ZW50",
 "ContentType": "text/plain",
 "ContentID": "c7d-2q41-zfw"

What you need to do

For messages you send with attachments, you can check the “Raw Source” of the message in Postmark to make sure you have your attachment formatted in a valid way. If you have access to review the logging for how you’re sending messages to Postmark for your server, you can also review how the attachment is formatted there. A vast majority of senders will find their attachments are valid, and no action will be needed.

We’re contacting senders who we’ve detected who have sent a high volume of messages that will be affected by this change.

If you have any questions or concerns about any of these changes, please let us know.

April, 2021

Postmark for iOS v1.4.0: Manage suppressions from your iPhone

Our most recent update to Postmark's iOS app brings the ability to manage your suppression list right to your smartphone. 📱

Previously, when you wanted to view or manage your suppression list, you'd have to log in to our web UI. Now, you can manage your suppressions wherever you go with the iOS App. This update (v1.4.0) replaces the old Disabled addresses screen with a brand-new, powerful Suppressions view that makes it easy for you to:

  • View all suppressions
  • Search suppressions by email address
  • Filter suppressions by common types (spam complaints and unsubscribe)
  • Reactivate suppressed addresses

We’ve also removed Firebase analytics tracking from the app.

What's the Postmark iOS App?

Take Postmark’s powerful monitoring and troubleshooting tools with you everywhere you go with our iOS app. Learn more →

Download Postmark on the App Store

Scheduled database maintenance: Wednesday, April 21st

On Wednesday, April 21st at 10pm Eastern Time we will be doing some scheduled database maintenance. During this time some non-sending API endpoints, as well as the Web UI, will be unavailable intermittently for up to 30 minutes. While non-sending API endpoints are unavailable, mail will be accepted and queued for sending once the maintenance is complete.

Please note that we don’t expect mail to be queued for the full 30 minutes, but you might see some intermittent API failures and web UI unavailability during this time. If you have any questions about this planned maintenance, please let us know. You can also keep an eye on our status page for real-time updates while the maintenance is ongoing.

Postmark Zapier Actions now support Message Streams

We added Message Streams support to Postmark's Zapier Actions. You can now specify which stream you’d like to use to send email through messages triggered from Zapier. If no Message Stream is provided, we'll default to the Outbound Transactional Stream.

Postmark's Zapier Actions support both Send an Email and Send an Email With Template.

Learn more about integrating Postmark with Zapier →

March, 2021

Updates to Postmark’s two-factor authentication process

We’ve made some updates to our two-factor authentication (2FA) process to make it even easier for you to set up this extra layer of security for your account. Previously, we required you to add a phone number to set up 2FA. Now, you can choose between SMS or app authentication.

Show details

At Postmark your data is secure and redundant, but keeping your account information secure is a team effort! Setting up 2FA is one of the most important things you can do to protect your account from unauthorized access—and to keep your data secure.

How can I set up 2FA?

Set up 2FA by logging into your Postmark account, select your name in the top right, and then choose “Profile” to access your user settings. You can turn on two-factor authentication in the “Security” section on that page.

Select your preferred authentication method. You can choose between SMS or app authentication. Postmark supports Google Authenticator, Authy, and 1Password.

Nobody likes being locked out of their account, so we also made it mandatory to download your backup codes when setting up 2FA. They are your key to get back into your account should you ever change your phone number or lose access to your device.

Learn more about setting up 2FA →

Can I see if other users have 2FA enabled?

As the account owner, you can! Head over to the Users section in your account and you’ll see who has enabled 2FA (and who might need a friendly reminder to get it set up).

Uh-oh, Steve! You haven't set up 2FA just yet!

I previously used SMS authentication. How can I switch to another authentication method?

That’s easy! Head to the 2FA settings in your account and turn off 2FA. Then, just start the setup process again. You’ll no longer be required to use SMS to enable 2FA.

February, 2021

Reactivate suppressed subscribers

We’ve added the ability to reactivate suppressions made by unsubscribed recipients. This functionality is available in the UI as well as through the Suppressions API

Show details

Did one of your recipients hit the unsubscribe link by accident? You can now reactivate subscribers so that they can receive your emails again.

To reactivate an unsubscribed recipient, head over to the Suppressions tab, find the recipient’s email address, and click the “Reactivate” button to remove the email address from your suppression list.

You can also reactivate subscribers via the API, using the "Delete a Suppression" endpoint. Here’s how.

🚨 With great power comes great responsibility. Honor unsubscribes and only reactivate email addresses when asked to do so, or when mistakes happen.

If someone marked your email as spam, they’ll be suppressed from future email sends as well. We take spam complaints seriously, so you won’t be able to reactivate that recipient on your own. If someone marked your messages as spam but would like to start receiving email again, reach out to our support team. We’re here to help.

Learn more:

Upcoming TLS configuration changes for API users—action may be required

To ensure the continued security of our systems, we wanted to let you know about some upcoming changes to our TLS (Transport Layer Security) configurations for API access. These changes may affect your application’s ability to continue to send mail through Postmark, so please read through this post in detail. These changes do not affect sending via SMTP.

Show details

What’s changing

On April 13, 2021, we are going to (1) disable TLSv1.0 access, (2) disable all RC4 and low-strength ciphers, and (3) add HSTS headers.

Here’s the full timeline of the changes:

  • February 16, 2021 (today): Announcement of the changes, and testing endpoints are made available.
  • February 23, 2021: All Postmark customers are notified about upcoming changes via email and an in-app notification.
  • March 16, 2021: Dedicated email outreach to all accounts that are still connecting to Postmark via TLSv1.0.
  • March 23, 2021 (11 am ET - 12 pm ET): Perform “blackout” test, where we cut over to the new configuration for one hour in production.
  • March 25, 2021: Dedicated email outreach to all accounts that are still connecting to Postmark via TLSv1.0
  • March 30, 2021 (11 am ET - 11 pm ET): Perform another “blackout” test, where we cut over to the new configuration for 12 hours in production.
  • April 13, 2021: Cut over production to new configuration permanently.
  • April 20, 2021: Decommission temporary testing SSL endpoint.

We’ll discuss each change below, as well as your next steps to make sure sending isn’t interrupted.

Disabling TLSv1.0 access

TLSv1.0 has been deprecated, and we are following suit.

Impact: Connections that only support TLSv1.0 would not be able to connect anymore after this change.

Disabling all RC4 and low-strength ciphers

RC4 ciphers are considered weak and they are deprecated as well. Along with this, we are getting rid of any low-strength ciphers that are vulnerable to breaks as well.

Impact: Connections that only support these old/weak ciphers would not be able to connect anymore after this change.

Adding HSTS headers

HSTS (HTTP Strict Transport Security) headers tell web clients to only ever connect to a URL over HTTPS for a period of time (usually 6 months to 1 year). This prevents something called a “downgrade attack”, where users are tricked into visiting a version of a URL that is not secured or validated with TLS.

Impact: We are adding these headers in accordance with industry standards. There is no API connectivity impact.

What you need to do

If you send with Postmark via our API, please make sure that your sending infrastructure is able to deal with these changes prior to the April 13 cutover date.

We’ve set up a temporary endpoint at that has these changes already applied. You can use this as an endpoint to test/validate against. Please be aware that there is no expectation of uptime on this endpoint, and that it will be shut down on April 20, 2021 with no further notice. It should only be used for temporary testing of non-production traffic.

If any of your tests with the temporary endpoint fail, updating your OpenSSL library should resolve the issue. If you are having trouble getting your API integration to work with this temporary endpoint, please contact our support team and let us know the exact error message encountered when attempting to connect, and a log of the connection attempt. We may be able to provide specific instructions for using newer TLS configurations.

Additional details related to specific libraries

The Postmark plugin for Craft CMS now supports Message Streams

We added Message Streams support to the Postmark plugin for Craft CMS so you can now specify which stream you’d like to use to send email through Craft. Previously, Craft would always send over your default transactional Message Stream.

Plus, because the plugin now also supports Broadcast Message Streams, you can now use Postmark to send bulk email via Craft Campaign.

Learn more about integrating Postmark with Craft CMS →

December, 2020

Postmark CLI v1.5.8: Template command improvements and more

Version 1.5.8 includes some helpful improvements to the template push command and template preview tool. Check out the release notes for all the details.

September, 2020

New IP for webhooks: action may be required

We plan to start posting webhooks from a new IP in a few weeks. If your application restricts access to public IPs, please ensure that the following IP is allowlisted:


We intend to start moving webhook traffic to this new IP on October 1, 2020, so please make sure the IP is allowed by any firewall or routing rules you may be using.

July, 2020

Postmark Scheduled Maintenance — July 11, 2020

On Saturday, July 11, 2020, Postmark will be performing necessary database maintenance starting at 10:00 am Eastern Time. We expect the maintenance to last about 2 hours. The affected services will be:

  • All outbound and inbound messages will be queued for approximately 30-40 minutes during the maintenance. During this time no mail will be processed, but we will accept and queue all messages.
  • The web app will be unavailable during the maintenance.

Throughout the maintenance window, we will post updates on our Status page to keep you updated on the progress, including when exactly messages will be queued. Please get in touch if you have any questions or feedback.

P.S. We recently announced that we are adding new public API endpoints. Please make sure these IPs are allowed by any firewall or routing rules you may be using.

June, 2020

[Postponed] Postmark Scheduled Maintenance — June 27, 2020

The database maintenance originally scheduled for June 27 is being postponed. A new date will be forthcoming. Original update below.


On Saturday, June 27, 2020, Postmark will be performing necessary database maintenance starting at 10:00 am Eastern Time. We expect the maintenance to last about 2 hours. The affected services will be:

  • All outbound and inbound messages will be queued for approximately 10-15 minutes during the maintenance. During this time no mail will be processed, but we will accept and queue all messages.
  • At various points during the maintenance window, the web app might be unresponsive, and you might see some intermittent API errors.

Throughout the maintenance window, we will post updates on our Status page to keep you updated on the progress, including when exactly messages will be queued. Please get in touch if you have any questions or feedback.

Reminder: New public API endpoints — action may be required

We recently announced that to help increase the capacity of our API we plan to add new public endpoints in the coming weeks. If your application restricts access to public IPs, please ensure that the following IPs are whitelisted:


We originally intended to start moving API traffic to these new IPs in March, but we now plan to start using these IPs in production on June 22nd. Please make sure these IPs are allowed by any firewall or routing rules you may be using.

April, 2020

Postmark for iOS v1.3.0 released

You can now view your stats and activity by Message Stream. We’ve also added support for Dark Mode in iOS 13+.

Download Postmark on the App Store

Postmark for WordPress v1.12 with Message Stream support is live

Postmark for WordPress v1.12 is now live! It adds support for Message Streams. You can now specify which stream you want to use in the plugin settings.

March, 2020

Auto-incrementing Bounce IDs will exceed 32-bit integers soon - action may be required

Auto-incrementing Bounce IDs will exceed signed 32-bit integers in the next 2-3 months. If you store these IDs in a database, or process them using your own code, please ensure you update your DB/application to use int64 values. As an even better solution, instead of using Bounce IDs for your application needs, consider switching to using our new Suppressions API, which avoids the need for this ID altogether. Please let us know if you have any questions.

New public API endpoints: action may be required

To help increase the capacity of our API we plan to add new public endpoints in a few weeks. If your application restricts access to public IPs, please ensure that the following IPs are whitelisted:


We intend to start moving API traffic to these new IPs on March 16, 2020, so please make sure these IPs are allowed by any firewall or routing rules you may be using.

February, 2020

Upcoming Changes to Bounce Message Retention

We wanted to give you an update to let you know of an upcoming change in our data retention policy for bounce events. These changes will go into effect on April 1st (yes, really).

Show details

As mentioned in our current data retention policy, after 45 days we remove all original message content and metadata from our system. For bounce reports, however, even though we remove the original message content after 45 days, metadata and the content of the actual bounce message have historically been retained for up to 1 year to enable troubleshooting.

In order to simplify our data retention policies, and also make sure that we do not keep data for longer than necessary, we are planning to make a change to this policy. As of today, new bounces will be deleted from our system 45 days after they are received. In short, our updated data retention policy has been simplified so that after 45 days we remove all original message content and metadata from our system, with no exceptions.

With this change, you will no longer see bounces older than 45 days when searching in your Activity feed, but you will always be able to see a searchable, full list of suppressed addresses within the Suppressions tab. Since bounces reactivation has historically been tied to BounceIDs, it has been necessary for customers to query for bounces, get a special BounceID, and then use the `/reactivate` endpoint with that ID. Depending on your workflow, reactivating bounces after 45 days using this process will no longer work. But, we’ve got you covered:

With the recent release of our Suppression UI and API you can easily search for inactive addresses, see the reason the address is inactive (block, hard bounce, etc.), and reactivate the address if possible. We recommend using this new API for all address reactivations, because it only requires one API call, rather than two, and will ensure addresses are reactivated, regardless of the suppression reason.

To Summarize:

  • Our retention policy for new bounce events is now set to 45 days. After 45 days, we will purge bounces. This is consistent with our data retention policy for all other types of message data.
  • Starting today, all new bounces will be stored in our system for 45 days, which means it will be fully rolled out in 45 days, on April 1st. Existing bounces will remain available during this transition.
  • For some very specific edge-cases (activating bounces older than 45 days will result in an error) we recommend you use the new Suppressions API for all your email reactivation needs.

As always, if you have any questions or concerns about any of these changes, please let us know.

January, 2020

Postmark CLI v1.4.6: Template test model storage

You can now test your templates using a custom model! Check out the release notes for more details.

November, 2019

Postmark CLI v1.3.2: Template preview command

We've added a new command that spins up a local web server so that you can easily preview your compiled templates.

  • Standard templates are compiled with their layout
  • Mustachio syntax rendering
  • HTML and text version previews
  • Small and large screen previews
  • Hot reloading - Your browser will automatically reload each time you change your template

Check out the release notes for more details.

API update: deprecating /bounces/tags

The /bounces/tags endpoint is used to return all tags from bounced messages as a string array. This endpoint gets extremely low utilization, so we are deprecating it on December 2nd, 2019. We are reaching out to the few customers who use this endpoint directly to help them transition.

If you do have a need to filter bounces by a specific tag, a better approach is to use the /bounces endpoint with filtering, as outlined in our docs here.

If you have any questions about this, please contact our support team.

API update: Modular Webhook management

Back in March 2018 we released modular webhooks, allowing you to choose which events you’d like to send to each specified hook URL. Up to now this has only been possible through the UI. We’re happy to announce that we just released a brand new /webhooks API endpoint, which brings support for the setup and maintenance of modular webhooks, as well as some of the Message Stream functionality we’ve been working on.

Show details

The new endpoint lets you list all existing webhook configurations; retrieve a specific configuration; and of course create, update, and delete modular webhook configurations.

Note that at this point we haven’t made any changes to how our /server and /servers endpoints work with regard to webhooks. Setting/updating webhooks via that endpoint will continue to set a single hook for your default transactional stream. We plan to update this in the future, but we’ll give you plenty of advance notice when that happens.

For details on how to use the new /webhooks endpoint, head over to our docs. And if you have any questions, please let us know!

October, 2019

Security upgrades to SMTP sending — action may be required

Updated December 3, 2019 with new key dates.

We wanted to let you know about a few changes we’re making to SMTP sending in the coming weeks to make this endpoint more secure. These changes will only affect sending via SMTP. If you use only the Postmark REST API to send, no further action is required on your part.

Show details

What’s changing

The following changes will be made to our supported SMTP TLS configuration:

  • Deprecation and removal of TLSv1.0 support. Going forward we will only support connections via TLSv1.1 or higher.
  • Deprecation and removal of several older and less secure cipher suites.
  • Modification of cipher parameters to require larger key sizes.

We understand that this type of change can be disruptive, so we want to provide you with ample time to test and verify that your application will be able to continue sending mail using the updated security settings.

These are the key dates for these changes:

  • October 29th, 2019 (today): Deprecation announcement, and testing endpoints are made available.
  • January 27, 2020: “Blackout testing”. We will temporarily move SMTP traffic to the updated configuration for a few hours throughout the day so that customers that have not seen this notice are alerted to issues before the final cutover.
  • February 1, 2020: All production traffic will be moved to the updated security configuration.

The most significant change, which might affect you, is that we are disabling TLSv1.0 on February 1, 2020. This protocol is old and vulnerable, so we will be rejecting connection requests that use TLSv1.0.

What you need to do

Before the cutover date on February 1, 2020, we recommend that you perform some tests against the following temporary testing endpoint: This endpoint matches the changes we’ll be making, so if everything works as expected, you’re good to go. Just switch back to using and no further action will be needed.

If you run into any issues using the temporary endpoint (i.e., your SMTP client is unable to connect), please change your SMTP client configuration to use TLSv1.1 or higher, or upgrade your SMTP client to a version that supports TLSv1.1 or higher. Documentation for SMTP clients will typically provide configuration options, where you can see how to set the connection to use TLSv1.1 or higher. If there is not a version of your SMTP client that supports TLSv1.1, you will need to select a new SMTP client that does support TLSv1.1 or higher in order to continue using Postmark.

If you are unable to get an SMTP client that is compatible with TLSv1.1 or higher working with the new SMTP endpoint, please contact our support team and let us know the following details:

  • What OS and SMTP client you’re using to connect, as well as any additional information that might be helpful (e.g., what PHP or OpenSSL version you are using).
  • Exact error message encountered when attempting to connect and log of the connection attempt.

We may be able to provide specific instructions for opting into using newer TLS configurations.

Once again, we are going to disable TLSv1.0 on February 1, 2020. Please perform all testing and make any necessary code changes before this date.

Please let us know if you have any questions about these changes.

Template comparison tool improvements

Our template comparison tool now lets you review code changes and quickly navigate between templates. This tool is available when pushing templates between servers.

September, 2019

We are ending support for the Tags Triggers API on October 14th, 2019

A small number of customers use our Tags Triggers API to track open events on emails sent with specific tags. We’re working on some more powerful features in our other API endpoints, so we are ending support for this feature, and it will be disabled on October 14th, 2019. We ask that customers who currently use this API to track opens based on tags update their applications to instead enable open tracking on a Message Stream level, or for individual messages.

Please let us know if you have any questions about this, or if we can help in any way to make the transition to stream- or message-level tracking.

Additional SMTP Endpoint IPs Added

We have added the following IPs to our SMTP endpoint service. If you send email using SMTP and explicitly whitelist our SMTP endpoint IPs, these will need to be added:

Show details

Introducing Message Streams

Today we are releasing the first in a series of product changes to get us to the point where you can send all your email through Postmark. This release introduces the concept of Message Streams to the Postmark UI.

A Message Stream is a way to organize and separate your sending within a server. We know that some people use servers as environments, while others use it to separate clients, apps, etc. Message Streams give you an additional way to separate your sending and reduce the proliferation of servers on your dashboard.

Check out our blog post for all the details.

August, 2019

Postmark PHP library v2.8.0 released

This release adds support for our Template Layouts. Find more information about Layouts in our blog post and in our Templates API Docs.

MailMason v1.0 released

We released a bunch of improvements to MailMason's workflow. This includes the ability to push your templates up to Postmark as well as general maintenance and package upgrades. We've also made design and accessibility improvements to the starter templates that ship with MailMason.

Show details
  • 3 generic layout options to help you get up and running
  • Each template now uses Nunito Sans as the main typeface. Fallback fonts for older versions of Outlook have also been considered.
  • Dark mode support in all layouts. Works with email clients that support the prefers-color-scheme:dark media query.

June, 2019

Introducing Layouts for reusable components in Templates

We know how frustrating it is to edit common elements like the date in a footer, or a logo, or a design change you want to make across all your transactional email templates. So today we are really excited to announce the release of Postmark Layouts — a way to define commons elements like CSS, Headers, and Footers, and reuse those Layouts across many Templates.

May, 2019

Introducing the Postmark CLI

Postmark now has an official command-line interface 🎉. We built a proof of concept earlier this year during our company-wide hack week, and now it’s available for everyone!

API Bug Fix May 23, 2019

Important changes to the way we handle headers when sending with SMTP

On Monday, May 20th we made a change to the way we process SMTP headers for emails that are sent with SMTP. Please note that this change does not affect sending via the API.

Show details

Historically, when Postmark accepted messages over SMTP, we have constructed the To, Cc, and Bcc headers for messages sent to show only the subset of recipients you specify during sending. In some uncommon cases, this behavior meant that not all recipients would be visible in the message that is delivered to your recipients.

With this update, we will ensure that the recipients that are visible in your messages’ To and Cc headers are the same as what will be shown to the final recipients of your messages. We will no longer reconstruct them based on our older behavior, which, in some uncommon cases, could have prevented some recipients from being displayed in the final email that we deliver.

Read the blog post for full details.

April, 2019

A more granular status page

We just released an update to the status page that lets you see the status of each individual service, and also drill down into the response times and past incidents for each service.

March, 2019

The Postmark web app has gone responsive

Have you been frustrated while trying to use your phone to view your Postmark stats or find a specific email in your activity feed? Us too! So we’re happy to say that the Postmark web app is now — at long last — responsive. Like so:

Please try it out and let us know if you have any feedback!

February, 2019

Starting March 7th our SMTP outbound servers will only support encrypted connections using TLS

We will disable support for SSL v3 on March 7th, and going forward our servers will only support encrypted SMTP connections using TLS (1.0 - 1.3). Most customers will not be affected by this change. However, you can double check that your SMTP client is compatible by temporarily sending mail through instead of points to the new servers (and new IPs) and it does not allow SSL v3 connections. If you use connection to test and everything works well, no further action is needed and sending should continue through our current endpoint:

If you are having trouble connecting over you will need to update your SMTP client. Please can let us know if you are not able to resolve or update your SMTP client before the switchover date.

January, 2019

Postmark ingress support added to Action Mailbox

Action Mailbox is a new framework in Rails 6 that routes incoming emails to controller-like mailboxes for processing in Rails. You can get more information about Action Mailbox in the introduction blog post.

You can find implementation instructions in this guide on Action Mailbox Basics, including specific instructions for Postmark.

Postmark for iOS v1.2.0

Today we released version 1.2.0 of the Postmark iOS app!

New in this update:

  • View custom metadata for your messages.
  • New resources to help you resolve common bounces.
  • Find out if a server’s bounce or spam complaint rates are elevated and how to fix them.
Download Postmark on the App Store

December, 2018

Easier template management across multiple environments

We just released an update that lets you push template changes from one server to another. Check out our blog post for all the details.

WordPress v1.11 released

Our WordPress plugin now supports link tracking! We've also fixed an issue where open and link tracking options were not honored when sending a test email.

November, 2018

WordPress v1.10 released

We just released an update to the WordPress plugin that adds an optional setting for preserving logs of send attempts. It adds a new Logs tab that can be used to view the last 7 days of plugin sending activity.

Show details

Preserving send logs are useful for a couple of reasons:

  • You can check if your contact form or plugin generating emails is actually using wp_mail for sending - no log entry means it is not using wp_mail and therefore not compatible with Postmark for WordPress.
  • API responses are included, so you can see why send attempt(s) fail.

We heard a lot of feedback from users saying their plugin wasn't working but they had no idea why, and there was not an easy way to tell what was going wrong. Now, you can quickly see what is going on and resolve the more common errors, like trying to send from an address that isn't on your account yet, or trying to send to external recipients before you Postmark account is approved.

Postmark Node.js Library goes to v2

Our Postmark JavaScript library just got a huge update. The biggest change is that we added TypeScript support, but there’s way more to it:

  • Migrated library to add TypeScript support
  • Revamped the client with a simpler call model
  • Added custom error handling
  • Added all missing account level and server level API endpoints
  • Removed unneeded dependencies

We’ve already made a few minor updates based on feedback and additional real-world use, so make sure to grab the latest version. Check out the wiki for more details, including a migration guide for moving from 1.x to 2.x.

October, 2018

Search for templates from the UI

You can now for search for a template from the UI. No more sifting through pages and pages of templates to find what you’re looking for!

Manage template aliases from the UI

Back in March, we released template alias support to our API, and now you can manage template aliases from the UI as well. Template aliases make it easier to manage the same template across multiple servers. Check out our help doc for more info.

Receive service status notifications from our Slack app

You can now receive notifications through our Slack app each time we add or update an incident on our status page. Check out the Postmark Slack app page for more details.

Subscribe to status alert emails

You can now receive email alerts each time we add or update an incident on our status page. Head over to the status page to sign up.

Developer docs much improved on mobile devices

Yes, you're right, our developer docs had a few issues on mobile. We're happy to say that, finally, that is a problem no more. Happy mobile browsing, everyone!

August, 2018

Postmark for iOS v1.1.0

Today we released an update to the Postmark iOS app! This release includes:

  • A handy new split-view for iPad that makes it easier to switch between servers.
  • An updated servers screen to match the new visual style in our web application.
  • We fixed a bug that could cause the app to crash when searching for a message on the upcoming iOS 12.

Download Postmark on the App Store

Template improvements: Phase 1 of 3

Today we released some layout updates to our template pages. This first update focuses solely on quick wins at making it easier to manage more templates with longer naming conventions. It also sets the stage for our next updates in the pipeline like template searching and aliases.

Keep an eye out for phase 2 and 3 changes in the coming weeks!

Show details
  • List layout - We've heard from customers that it can be frustrating to use the card layout due to the way template names are truncated and it not playing nicely with their naming conventions.
  • Card layout - The card layout is still there for customers that prefer a more visual approach to finding their template. The app also remembers their preference and sets it as their default view next time they visit the page.
  • 15 templates per page instead of 9
  • More breathing room when coding your templates! The template editor layout now expands with the page instead of being fixed at 820px.

A brand new Servers page

We’ve made tons of design improvements in the Postmark app over the past few months. From a new activity feed, to a better DNS Settings page, all the way through a redesign of our webhook pages, we set out to understand exactly what you need to do on those pages and flows, and design the best possible experience for those needs.

Today, that philosophy gets extended to one of the most-used pages in the Postmark app: the Servers page. You’ve been asking us for a while to add features like search and better sorting options to that page, and today we’re happy to give you that, and much more.

July, 2018

Version 2.6.0 of the official PHP library for Postmark

This release includes support for our new metadata feature. You may now include metadata with your outbound messages, and Postmark will include that data in webhook payloads, message details, and message searches. See the full release announcement here.

This release also enables you to specify the BaseURL for each API request, making testing with Guzzle a lot easier.

Finally, you can now enable, or disable SMTP API Error Webhooks for Servers using the Admin Client.

As always, we hope this release helps you get even more value from Postmark, and please feel free to contact us if you have any questions or requests!

Updates to the Swiftmailer Transport for Postmark

Our Swiftmailer Transport for Postmark has been updated with some minor enhancements, and it also now works with SwiftMailer 6.

Postmark official .net client updated to v3.3.0

This release of the official .net client for Postmark includes the addition of the Domains APIs, support for our new custom metadata feature, as well as the “EnableSMTPErrorHook” property to the the Create and Edit Server endpoint methods.

Custom metadata for your emails

You can now add custom metadata to your emails, and we'll pass that same data back to your system through our webhooks.

Show details

For more details on how to implement and use this feature, check out the announcement blog post, help documentation as well as our updated developer documentation.

June, 2018

Improvements to invoices, payments, and how to save money

We just finished work on a series of small updates to the app that work together to help you pick the pricing plan that's right for you, and make the whole "paying for Postmark" thing a lot more pleasant. Below is an overview of the changes.

Show details

Updates to monthly usage indicator

Instead of a gauge that shows that you're "in the red" as soon as you hit your monthly limit, we now have a much better indicator with three states:

  • Sending within your monthly limit
  • Sending exceeds your monthly limit, but you're still on the best plan
  • Sending exceeds your monthly limit, and upgrading to a new plan would save you money

This will clear up a lot of the confusion about where you're at with your usage.

Improved overage messaging on plans page

We've improved the messaging we show when it would be beneficial to you to upgrade.

Improved invoice emails

Our billing emails used to be text, and they're now beautiful HTML templates. We now also tell you if you can save money by upgrading to the next plan.

Add pricing calculator to the app (for new users)

New users will now see the pricing calculator in the app, so they don't have to leave the app and go to the marketing site to do the calculation.

Latest improvements to Rebound’s Javascript API

Rebound's Javascript API now includes a couple of new features that make it easier to use for email-crucial workflows and single-page apps. We’ve introduced a new method(window.Rebound.check()) for explicitly checking an email address whenever you want instead of only on page load. We’ve also introduced an option to continuously run checks in the background without requiring users to reload the page.

Show details

Repeat config option

To continuously check an email address, add the repeat option to the config object. repeat accepts any number above 5000 milliseconds. We recommend using it sparingly for workflows crucial to email such as account activation or password reset pages.


This method accepts the standard config object as the first argument. This is ideal for letting your customers know about delivery issues based on an action they took in your app. Take a look at our CodePen example and learn how to check an email address when a form is submitted using Javascript.

Check out Rebound’s API docs for more details.

Web Bug Fix June 18, 2018

Bug fixes and small improvements - April/May 2018

We're constantly improving Postmark and taking care of small issues and annoyances that we find (or you send us!). We wanted to start telling you about these fixes, so from now on we'll update you every few months about the bug fixes and other small tasks we take care of in between our larger feature projects.

Show details

Here's a brief overview of all the bug fixes and small changes we completed in April and May of this year:

  • We now enforce Do Not Track headers! See our announcement post.
  • If you follow a deep link to a part of our UI (for example, in an email you receive), you will now be taken directly to that URL once you've logged in, instead of the Servers page.
  • When you send an email to a distribution list, and one of the recipients in that list results in a hard bounce, we will no longer deactivate the whole distribution list. Instead, we now mark this is a soft bounce so that you can investigate which email bounced, without the entire list being affected.
  • We added "Processed" as an alias for "Sent" in the Messages API, to match our recent UI changes.
  • Our login, password recovery, and 2-factor authentication pages are now mobile-friendly.
  • We improved some button labels in the UI to make initial setup clearer.
  • Other bug fixes:
    • If your address is inactive and you try to trigger a password rest, nothing happened and no error was shown to you. We now show an appropriate error message.
    • We fixed an incorrect error message that was shown if you didn't specify a template model when sending email.
    • In some cases the plain text preview of your emails ran off the page on the Message Details page in the Postmark UI.
    • Our pricing calculator broke when commas were used as thousands separators.
    • We fixed an issue where Webhook URLs sometimes failed validation tests when they weren't supposed to.
    • The password strength indicator on our sign-up page wasn't working.

May, 2018

Postmark for iOS Launched

Email is a critical component of most web applications, and we know how important it is to have tools to investigate and resolve any delivery issues quickly. The Postmark iOS app allows you to take our powerful email monitoring and troubleshooting tools with you wherever you go.

We started enforcing Do Not Track preferences

We now disable all the third-party scripts that collect data about users visiting our website if the user has Do Not Track enabled. This includes analytics and A/B testing services, as well as less obvious data collectors like live chat.

Notify your customers about email delivery issues with rebound

Rebound prompts your customers to update their email address if an email you sent them hard bounced.

March, 2018

Modular webhooks

You can now add multiple webhook URLs for a server and choose which events you’d like to send to each specified URL.

January, 2018

Introducing the official Postmark Slack app

Send Bounce notification messages from Postmark to a Slack channel of your choice. Each notification also provides a direct link to the Message Details page so that you can investigate further.

December, 2017

New lower pricing and monthly plans

Postmark now offers monthly plans instead of credits, and the new plans will likely save you money. Here's everything you should know about Postmark's new pricing model.

November, 2017

A better DNS settings page

We release a simplified DNS Settings page to make it easier to ensure great delivery for your email. But we didn’t stop there — we also made some backend changes to streamline how we authenticate domains for email sending. Let’s go through some of those changes.

Two-factor authentication now available

Hot off the heels of releasing advanced user roles and permissions, today we’re giving you a way to add extra security to your account by enabling two-factor authentication (2FA).

Advanced permissions and redesigned user management

For the longest time we’ve only had two types of accounts: a single Account Owner, and separate Viewers. Viewers are only able to view reports, email activity, and receive email digests for the servers they are assigned to. So, today, we’re adding two new roles to Postmark: Account Admins and Server Admins.

Emoji in subject lines now available

You can now add emoji to your Postmark subject lines, and they’ll render correctly in your favorite email clients. Of course, emoji are already supported in the message body, so there are no changes there.

Updates to the activity feed

We released some significant updates to the activity feed to increase information density and clarity, upgrade the filtering experience, and add the ability to export the activity feed to a CSV.

August, 2017

Huge updates to the support home page

We’ve really expanded our documentation. More guides, help docs, blog posts, open source projects, and developer docs. Unfortunately, that proliferation led to fragmentation. So we set aside time to unify all of our documentation into a single home and make it all searchable.

May, 2017

Updates to DMARC reports

We decided to take our DMARC reports a step further. Instead of just showing you synthesized DMARC information, we now include helpful tips on how to address each of the possible issues you might see on the IP addresses that are sending on your behalf.

December, 2016

Webhook for delivery events

Postmark can now notify your application of delivery events via webhooks so you can do a variety of things like feed delivery events into an internal system, provide delivery even notifications to your customers, or aggregate delivery even data to see patterns and respond accordingly.