Postmark

Learn to use Postmark Inbound with Node.js & CouchDB

Posted by Alex Hillman Comments

Since our launch on Tuesday, we’ve gotten lots of great questions and comments on Postmark’s new inbound email parsing service. Since, Mark Headd made a great open source contribution that we’ll be adding to our docs: a Node.js listener for Postmark Inbound that stores emails parsed by Postmark in CouchDB.

Even cooler than just open sourcing the code, Mark went above and beyond and recorded a handy screencast to walk you through what he built and how to use it - including the handiness of the way CouchDB handles serving up attachments (watch the video, you’ll see what I mean).

Big thanks to Mark for his contribution, and going the extra mile with the screencast which I’ve embedded below.

If you’d like to earn some free Postmark credits, email me and let me know what you’ve built that can help other people use Postmark Inbound easier! Code samples, screencasts, walkthroughs - the more useful and creative your contribution is, the more credits you’ll get!

Discuss this on HackerNews.

Introducing Postmark Inbound: Easily parse replies & other incoming email into JSON for your app

Posted by Alex Hillman Comments

Postmark started by solving the pain of sending emails from your web applications. Today, we’re closing the loop by making it just as easy for everyone to be able to parse incoming emails.

You already know that if your web app sends email, it’s sending it more reliably with Postmark. But wouldn’t it be great if your web app knew how to listen for incoming emails? We thought so too, that’s why we created Postmark Inbound.

Every Postmark server now includes an inbound email address. We’ll turn anything you send to this address into a beautifully formatted JSON object and post it to your application over HTTP, complete with email contents, headers, even attachments.

Postmark inbound is perfect for:

  • Replying to in-app messages.
  • Analyzing and acting on email content.
  • Creating tasks, reminders, and posts.
  • Using email to upload files.
  • And more!

We’ve worked hard to keep Postmark simple, including how you pay for it. Just pay for what you use, starting at $1.50/1000 emails. The same Postmark credits can be used for outbound and inbound email processing.

Try Postmark Inbound today

Postmark Inbound is available for all Postmark customers and new accounts immediately. Our developer documentation is available to help you get started.

Sign up for your own account and get started right away.

You can also learn how popular issue tracker Done Done and our own hosted version control system Beanstalk use Postmark Inbound every day.

Enjoy!

P.S. Are you as excited about this as we are? Share that excitement on HackerNews!

We should have an emissions check for ESPs

Posted by Natalie Nagele Comments

Chris’s posted yesterday about the problems with selling dedicated IPs and along with the comments, it got me thinking about what we, the industry of Email Service Providers, are responsible for. At Wildbit, we feel an obligation to rid this world of spam and junk mail. It’s not like it’s a higher calling, it’s just the right thing to do as an email service provider (ESP). ESPs are the gateway to a lot of junk mail, not just spam mail. It’s the junk mail that’s difficult to police but be believe can and should be done by every ESP.

Junk mail vs. Spam mail

We talk a lot about spam in the email industry, but we don’t talk much about what I consider “junk mail”.

Like the random take out restaurant flyers you get in your physical mailbox, junk mail is the catalogue equivalent for email. These are newsletters and announcements and marketing emails that are mostly useless to many people, but don’t necessarily fit the definition of spam. You probably signed up for a list at some point, but the list owner is overstepping with the quality or quantity of their mailings. We dealt with this a lot when we ran our email marketing service. What’s important is that ISPs are now taking a stance against this type of email by keeping track of whether these get opened, read, etc (engagement).

Now, this junk mail does generate some spam complaints, but often not tons. Therefore ESPs allow these emails to go out day after day. Why? Because it’s not causing global delivery issues (at least not right away). These emails just get marked as spam, but anyone else sending through that IP won’t necessarily get flagged as spam.

Our view

At Postmark, we don’t deal with this problem nearly as much as we used to with our email marketing service. Most transactional email is expected and triggered by a user’s specific action. Even with that we keep our spam threshold extremely low. Some emails still trigger spam complaints, commonly things like invite friend tools, auto-responders, etc. We keep a strict eye out for that kind of activity and ban it from Postmark if it becomes abusive.

Strict? Maybe. There’s a fine line between what the marketing department wants to accomplish and what a customer or recipient wants and expects. Sending the same automated email 3 times a week is probably going to piss people off.

That’s junk mail, and we don’t stand for it.

Emissions Testing For A Better (Emailing) Environment

ESPs are polluting the environment allowing people to send this junk. There are so many groups and tools out there to block the spam after it happens, but I’m not seeing a lot of ESPs working on stopping the junk from being sent in the first place. The punishment to an ESP for sending junk just isn’t as high as sending spam, so everyone concentrates on keeping the African princes away, but not the retail newsletter that got sent out every day last week.

There’s a lot of money to be had in sending junk mail (both paper and electronic). We think that there should be more of an effort made by the ESPs to do better than the minimum requirements set by ISPs. Think of it like car companies getting awarded for having lower emissions than the minimum requirements. They are actually working to help the environment, not just keep it from getting worse.

The false promises of dedicated IPs

Posted by Chris Nagele Comments

I have to admit, I am disappointed in the false promises that companies are giving when it comes to offering dedicated IPs for their customers to “improve email delivery.” The reality is, dedicated IP addresses are not a sure way to improve delivery, and sometimes, can actually hurt email delivery. Before I jump in, let me first explain how IP addresses play a role in mail servers and sending email.

Continue reading…

Over 61% of Postmark customers authenticate their emails. Do you?

Posted by Natalie Nagele Comments

I don’t think we can stress enough the importance of authentication in sending email.

Every day we find customers who have delivery issues that are instantly solved by updating SPF records or signing their emails with their own Domain Keys. Because we know how critical it is, we’ve built it right into the Postmark setup process. Interestingly, we actually have customers who think it’s a required step to use Postmark, and we don’t think that’s a bad thing.

Amazingly, over 60% of all Sender Signatures of our customers have DKIM and/or SPF setup correctly.

And of course, custom DKIM comes with any account for free, whether you are using the first 1000 credits or you’re a high volume sender.

Sign your emails, remove the doubt

ISPs have a lot of tools at their disposal to check if what you’re sending to them is legitimate mail. As they continue to evolve, they get smarter and smarter at making that important distinction.

The new word of the day is engagement, the idea of ISPs watching what customers actually do with your email. For instance, whether they open it or send it to trash right away. If they open it, how long does it stay open?

All of this is meant to protect the recipient from not only Viagra email, but also useless junk mail. You can avoid a lot of delivery problems by simply telling the ISP who you are. Engagement, content scanning, etc are tools that ISPs use if they have doubts.

Your job, remove the doubt. And we’ve designed Postmark to help you do that.

The “why” to signing your emails

When an email is sent to the ISP, they:

  • check the IP reputation
  • check the domain reputation
  • check the content

We’ve got the IP reputation covered for you, but you are in control of the other two.

Content is the really tricky one, so you at least want to make sure the other two are rock solid. Your domain reputation is 2 parts being a good sender and 1 part making sure the ISP knows who you are. When you use an ESP, that means telling them that you have allowed us to send emails on your behalf.

What’s nice about transactional email, our speciality here at Postmark, is that most times you don’t need to worry about the tests of engagement, so long as you’ve shown the ISP that you are following the rules. Signing your email is key here, because once it’s signed, you’ve taken a lot of the doubt away. For example, a spammer can try to spoof @adobe.com. What they can’t do is access Adobe’s DNS, so they’ll never be able to sign their emails. When AOL sees an email from Adobe that’s not signed, it’s easier to make the decision to trash it.

“But I need to send on behalf of my customers”

If you’ve been whitelisted to send from many domains, you probably heard from our team that we don’t recommend it, but we’ll do it if you need it. The reason we advise against it is that you end up sending email without authentication.

When you send from your customer’s email address, you’re not going to be able to sign that email with DKIM. Instead we’ll sign it with our own DKIM, but that comes with issues as well - like GMail’s “via” tag for example.

Our recommended approach is to send from your own email, and then change the From Name and Reply To to be the customers. For example:

"Bob Smith" info@yourcompany.com, reply to: "Bob Smith" bob@smith.com

Takeaway

Getting to the Inbox is really hard already. As a company, we want to make it easier, but we can’t do it all for you. We take a really strong stance on recommending email authentication to our customers in Postmark and we’ve designed it into our workflow to make it simple. With what we’ve seen, you’re doing yourself a huge injustice without it. ISPs, even smaller ones, are starting to make this a requirement for getting through.

Do yourself and your recipients a favor and just follow the simple rules. It’s already a difficult job. Not using DKIM yet? Go to your sender signatures page and follow the steps or sign up for a Postmark account and see how easy it is.

Postmark Spam Score API in the Wild - Spamscore.me and Christmas is Saved on Reddit

A few weeks ago we released a free API for checking the spamscore of a message. The folks on HackerNews loved it, and it’s been really great to see people find ways to get more value from this API.

Some of our favorite usages have shown up in just the last week!

Spamscore.me

We released our Spam Checking API with an easy and beautiful UI, but it does require that you grab the full email contents including the headers. Simple as this is, it’s work. Wouldn’t it be great if you could just forward an email somewhere, and moments later, get back a nicely formatted report about your email’s spamscore?

That’s exactly what Jim Carter built with spamscore.me. The cool thing about spamscore.me is there’s no interface other than your email client! Just forward any email to go@spamscore.me and get one of these bad boys back.

It’s free (but no less awesome), so please be kind to Jim’s servers. Have other ideas for useful mashups with our spamscore API? Let us know in the comments, or better yet email me once you’ve launched so we can write about it here!

Christmas is saved on Reddit

Our hearts were warmed to find that someone recommended our spamscore checker to a Reddit user whose christmas eCards were being sent to spam

Chris was able to jump in and do a quick analysis of the person’s spamscore report, recommending the following to help with the resolution:

  • Set your Return-Path header to a domain and address that you control. Then, add an SPF record to that domain with the permitted SMTP servers.
  • Do not use your user’s email as the from address. This is spoofing and you can’t control the DKIM or SPF. Instead, use their “From name” but your email address.
  • Make sure Reverse DNS is setup for your SMTP server.

While we can’t promise personal spamscore report interpretation for every problem, we’re thrilled to see that this tool is being used to help solve real world problems in people’s applications.

Have you used the spamscore API to successfully track down a problem? Let us know in the comments.

New Postmark System Status Dashboard

We work very hard to keep Postmark reliable and available for our customers, but sometimes things go wrong that are out of our control. We do our best to communicate the details of any issues we’re having, and make it a priority to prepare you for any planned maintenance or downtime.

Not everybody follows us on Twitter, and emailing our entire customer base isn’t always the best solution either. So today, we’re launching our new Postmark System Status page.

Postmark Status

We’ll continue to post updates to Twitter and provide our in-app notices. We’ll still email you ahead of time for planned maintenance. But if you’re ever experiencing a problem and want to know if you’re the only one, you can now visit status.postmarkapp.com and look for recent updates about any known issues. If something is going on, the big banner on top will make that clear and the status updates below will provide more detailed information. 

You can also subscribe to these updates via RSS in your favorite RSS reader, or even subscribe to email updates in your inbox if you prefer.

This is just one more step we’re taking to make sure that you know we’re working hard to provide an easy, fast, and reliable service for delivering your transactional emails to the inbox!

What Happened This Morning

Posted by Chris Nagele Comments

This morning at about 8:15am EDT we had an outage on our primary MySQL server. It affected sending, the API and our web interface. No emails were lost, but you would have noticed delays. I want to give a brief overview on what happened, how we recovered and where we are now.

The outage occurred when our primary server ran out of disk space. We have systems that monitor for things like this on each server to alert us. In this case, the space grew much quicker than normal, so by the time the alerts were noticed MySQL was already struggling.

In most cases when we have an issue with MySQL the impact is minimal. We run a high availability environment with MySQl-MMM, which usually detects any problems and automatically fails over to a healthy server. Unfortunately in this case MySQL was still running - it was just having issues writing certain data to disk, so it never got the trigger to fail over.

We struggled a bit to free up some logs and space and after about 30 minutes decided to just fail over to the second server. In hindsight we should have done that right away, but we wanted to make sure replication was healthy first.

Once we failed over manually, things were back to normal and we just had to recover any failed jobs. We have a nice fail safe in Postmark where if the DB is unavailable we queue emails locally on each server so we can successfully send them when we recover. This came in handy today!

Moving forward, we’re working on some upgrades to the cluster that will focus on availability and performance. We’re also going to make the alerts a bit more sensitive to make sure we catch potential issues sooner.

I’ve very sorry for the early morning chaos. It was definitely not the way I wanted to start my day and surely not how we wanted all of you to start your day either. As always, we’ll work hard to minimize issues like these and improve reliability. We know you depend on us, and thank you for your patience and trusting us with your email delivery needs.

Checking Spam Scores is now as easy as Postmark

Postmark’s sending infrastructure works to carefully, quickly, and accurately deliver your transactional emails to your customers’ inboxes. The most common problems that occur outside of our configurations are related to content, and our customer service team often works with customers to improve dodgy email content that’s causing emails to land in the spam filter.

Today we’re announcing a new easy and free API to help you score the quality of your outbound (and inbound) emails. This JSON API provides easy and fast programmatic usage of the spam filter tool SpamAssassin.

Simply POST an email’s contents, all headers included, against our API and we’ll return a score. If you want, we can also return a full report in your call.

Not API savvy? No problem! Our landing page for the API provides a fully functional scoring & reporting tool for you without having to ever write a line of code.

Write an API wrapper, Get Free Postmark Credits

This API is silly-simple, but we want to make sure that it’s useful. One way to do that is to make sure that there’s a simple interface to it in everyone’s favorite programming languages & frameworks. 

We’ll give 10,000 free Postmark credits to the first person to write and open source a complete API wrapper for our Spam Score API in a given language/framework. We’ll compile a directory of the wrappers and publish them along with the API.

Our own Oren Mazor (who wrote the API) has provided an example library in Python, if you’re looking for patterns to follow. 

To submit an API wrapper, email a link to your repository to alex@wildbit.com. We’ll provide the free Postmark credits to one winner per language/framework, based on the timestamp of the submission. 

HackerNews Discussion

We “soft” released this on Friday night and there was some great discussion on HackerNews, spending most of the weekend on the home page. Jump over to the comments thread to see what people think!

Major Performance Fix in Postmark’s Activity Search

As too many of our customers know, we’ve had an ongoing battle going on with our search functionality in the Postmark Activity pages. With the rapid growth of Postmark compounded with storing more days of “Sent” message activity (we’re now storing 15 days instead of 10 days), we’ve been working hard to refactor our activity search to - well, actually work quickly and consistently, for quite a while.

Our largest senders, and even some of our medium sized senders, have consistently seen time outs when doing a search on their Postmark Activity pages.

This morning we released the newly improved search algorithm, and it’s performing extremely well. Searching our largest accounts takes just a few seconds, which means most accounts respond to search queries almost instantly.

What Changed?

Milan, who’s responsible for all of the improvements, will provide more details on how the search parameters have changed in a future post. For the most part, there are no differences to what you are used to. Just like before, you are able to search for a recipient, as well as the subject of the email. This is very helpful for troubleshooting delivery issues, inactive recipients, etc. Searching your Activity checks for successfully sent emails along with, bounces, spam complaints and SMTP API errors.

Speaking of SMTP API errors, we did include a small change to the way we will be storing these in your accounts. Prior to today, we would store SMTP API Errors indefinitely. These are generated when you use the SMTP endpoint, informing you that we didn’t send your email. The 2 main causes of this are: invalid Sender Signature or you’re trying to email someone that has been marked inactive (due to a hard bounce or spam complaint).

In both of those cases, you don’t need to know about these errors forever. We actually got a lot of requests to remove these from accounts to clean them up. So, from today on, we will be removing SMTP API Errors from the Activity feed after 15 days, just like sent emails. This will help with the UI as well as the search functionality.

Thanks!

We’re really excited about this update because we rely on search just like our customers. Having it reliable is crucial to troubleshooting, which is what we’re here for as a service. We just want to thank our amazing customers for their support while we completed this important fix.

Thanks so much, you are so awesome!