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


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, and I want to talk a little bit about that.

Continue reading

Managing your Postmark templates with Github using Travis CI or CircleCI

Postmark’s templating system comes with a web editor to manage email templates, but sometimes developers prefer using their own code editor while also using version control. This is all possible with the Postmark CLI tool.

This guide walks you through how to store your Postmark templates in Github and automatically trigger pushes to Postmark using Travis CI or CircleCI, two popular continuous integration and continuous delivery tools.

Continue reading

Feature announcement: introducing Layouts for reusable components in Templates

Rejoice with us, Postmark Template users, for today is a good day. In our previous big enhancement to Templates we introduced template pushing to make it easier to manage templates across environments. We also recently released the official command-line interface for Postmark, which makes Templates even more tightly integrated with your existing development workflow.

But there was one feature that I know you have been waiting for the longest: the ability to reuse components across 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 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.

Continue reading

How to handle duplicate events in your code (or, why idempotency is important)

In some situations, your application may receive a webhook for the same event/message multiple times from Postmark. Under normal circumstances, this should be relatively rare, but it is something your webhook processing should be prepared to handle.

Understanding why this can happen is not only important when working with webhooks in Postmark, but more generally useful in dealing with distributed systems. After all, all apps that use APIs are distributed systems, whether they want to be, or not!

Continue reading