Postmark

Posted by Comments

Email authentication (validating the identities of the parties involved in sending an email) is a hard problem, with no one solution. Different techniques solve different parts of the problem. SPF is a technique to whitelist IP addresses for a domain’s originating address, described in my last article. DMARC is a technique that builds on SPF and DKIM to allow domain owners to enact policies and get reports. Postmark launched a free tool to help you with DMARC reporting at http://dmarc.postmarkapp.com/. DKIM is a method to protect against email spoofing using public-key cryptography. In this article, I’ll explain how it works and what protection that DKIM provides.

Continue reading…

Posted by Comments

Managing your email templates in your source code can be a pain. Each time you update content either a developer is needed, a deployment is required or both. There’s a better way and it’s much easier than you think.

Today, Sendwithus announced integration with Postmark, allowing you to edit templates, A/B test content and segment your recipients without ever needing to touch code or deploy.

Email templates are created using the Sendwithus service, then each time you send emails the content is merged with your recipient data and delivered through Postmark. Through our recently launched open tracking tools all statistics are then posted back to Sendwithus for reporting.

The best part - you can still let Postmark send your emails, ensuring fast delivery right to the inbox.

Learn more and get started by reading the Sendwithus blog.

Posted by Comments

As promised with the release of open tracking, we released the related open tracking webhooks. With webhooks enabled, Postmark will push the open tracking data to a URL you specify each time an open occurs. This notification will contain all of the great information you can see in the Postmark UI, Opens API and Outbound Stats API.

Webhooks are unique to each server in your account. You can add a webhook on the Server Settings page under the “Opens webhook” section.

By default, all of your email opens will get posted to your webhook. Postmark differentiates between the first and subsequent opens. Every JSON posted to your webhook will contain the property FirstOpen, showing if this was the first time the recipient opened the email. If you don’t care about subsequent opens, you can set a switch “Post only on first open" on the Server Settings page.

Managing webhooks with the API

All of the webhooks functionality can be managed with the API. On a per-server basis, you can call the /server endpoint using the X-Postmark-Server-Token. If you’re managing more than one server with an Account Token, you can use refer to the Account API.

Developer contest: 150,000 credit reward

We’d love to see what you come up with using webhooks and the API with open tracking. We’ll showcase unique examples on our blog, so please share your work in a public GitHub repo. We’ll reward the most interesting or unique implementation with 150,000 free Postmark credits. Just email us with your example. We’ll pick a winner July 31st.

Posted by Comments

Reply Parsing

Before today, the Postmark Inbound processor would parse the html and text bodies of the incoming messages but it was up to the user to decide if this was a reply and what that reply text is. Today we’re introducing the StrippedTextReply field which will contain only the reply text of an Inbound message.

    {...
    "ReplyTo": "myUsersReplyAddress@theirDomain.com",
    "Subject": "This is an inbound message",
    "MessageID": "22c74902-a0c1-4511-804f2-341342852c90",
    "Date": "Thu, 5 Apr 2012 16:59:01 +0200",
    "MailboxHash": "ahoy",
    "TextBody": "[ASCII]",
    "HtmlBody": "[HTML(encoded)]",
    "StrippedTextReply": "Ok, thanks for letting me know!",
    "Tag": "",
    "Headers": []
    ...}

For example, if you send an outbound message and CC your Inbound address, or override the ReplyTo field so that replies will be sent to your Inbound address, the StrippedTextReply field will contain only the reply content from any recipients who reply to the message. We think this will be a big help for users who rely on parsing out the reply text and ignoring the original quoted content. There are some limitations to the StrippedTextReply field which we discuss in the documentation.

Continue reading…

Posted by Comments

SPF isn’t just for sunscreen. In the world of email, Sender Policy Framework or SPF is a method to validate that an email came from an authorized domain. In other words, it is a way to say that Postmark is allowed to send email for your domain.

Continue reading…

Posted by Comments

Today we gave some love to our Wordpress plugin so that it supports Open Tracking. Enabling the tracking feature couldn’t be easier. If you open your Wordpress administration screen you should see that “Postmark Approved Wordpress Plugin” is asking to be updated. You can use Wordpress’s built-in update feature to download and install the latest version. You can also manually download the updated plugin here.

image

Then go to your settings, and check off the “Use Postmark’s Open Tracking feature” control. This will let the Postmark API know to enable Open Tracking for each Wordpress notification. Happy blogging!

Posted by Comments

We’re incredibly excited to announce open tracking. This launch has been a combined effort of months of work from Milan, Eugene, Artem and Igor. We’ve had it in Beta internally for several weeks and know you’re going to love it.

Since Postmark is for transactional emails, we wanted to tailor the feature to a transactional workflow. In typical email marketing, open tracking is important as a holistic number, like knowing the open rate across all recipients. With transactional email, you may be measuring the effectiveness of your drip campaigns, watching the open rates of order confirmations or looking at individual recipient opens.

Continue reading…

Posted by Comments

The Postmark web app is full of great information about the emails you send and process. You can view emails sent, processed, bounced and even filter by tag and by date range. We also have weekly digests, showing combined statistics for each week per server. But what if you wanted to get these statistics into your own application? We’ve already made some huge leaps in our API when we launched enpoints for Messages, Servers and Sender Signatures.

Today, after a lot of work by Milan and the rest of the team, we’re launching the Statistics API. This new endpoint will allow you to build statistics information directly into your own applications. Let’s cover some of the awesome things you can do with it.

Continue reading…

Posted by Comments

What happened

We had a partial outage of the Postmark website and Bounces API endpoint on Apr 24 2014, from approximately 1:00PM EST to 5:30PM EST. At about 1:30PM we narrowed the problem down to our CouchDB views. Discussing the problem with our partner Cloudant, at 2:30PM we realized that during some ongoing maintenance our view shards got deleted and would need to be rebuilt with a rebuild time of >24 hours. This not being an acceptable solution, JP and Nick implemented a series of hotfixes to use different data sources to work around the loss of our CouchDB views. These issues were resolved around 5:30PM.

What was fixed

  • Viewing messages on the website
  • Single bounce API call, GET /bounces/{bounceID}
  • Bounce dump, GET /bounces/{bounceID}/dump
  • Activating bounces, PUT /bounces/{bounceID}/activate

These portions of the application will show a slight degradation in performance until our views are rebuilt.

What we are still fixing

Deleting a server from the website or the API is not functional right now. We are working to fix this functionality.

Update Apr 29 12:28PM EST deleting servers should be fully functional now.

What we’re doing in the future

We’re going to leave in place and enhance our hotfix use of alternate data sources so if CouchDB views degrade again recovery will be much quicker. We’re going to continue working closely with Cloudant to make sure our CouchDB cluster is as resilient as possible.