<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Read our blog or subscribe via RSS to stay up to date on Postmark news, features, customer stories, and more.</description><title>Postmark Blog</title><generator>Tumblr (3.0; @postmark)</generator><link>http://blog.postmarkapp.com/</link><item><title>New Feature: Postmark Inbound Auto-Retries</title><description>&lt;p&gt;&lt;strong&gt;New inbound feature - retries&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since launching Postmark Inbound, one of the features that our customers requested the most is the ability to retry inbound posts. Lot of things can happen that can disrupt an inbound JSON post coming from Postmark to the inbound hook server. The web application receiving emails or the web server hosting it can go down due to various reasons. Or, networking issues can render your inbound hook unreachable from Postmark.&lt;/p&gt;
&lt;p&gt;Whatever the reason for the failed POST, you shouldn&amp;#8217;t ever miss an email. That&amp;#8217;s why we are adding automatic retries to Inbound, to ensure your web app receives the processed inbound emails.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How does it work?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When an email is sent to your inbound mailbox, Postmark will retrieve it and process it. Immediately, it will try to post the generated JSON to the inbound hook URL you defined. If the post was successful, it will be listed as &lt;em&gt;Processed&lt;/em&gt;. The post is considered successful when the inbound hook returns one of the HTTP 200 codes. This is the same behavior we had until now and the presentation in the UI is the same.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m32wgaTzIN1qecbj6.png"/&gt;&lt;/p&gt;
&lt;p&gt;However, if the hook returns a non-200 code, we will now schedule the JSON post for a retry. The entry in the activity screen will show how many retries were attempted, and will show the timestamp of the next pending retry. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m32wi3D37x1qecbj6.png"/&gt;&lt;/p&gt;
&lt;p&gt;You can even filter your emails by using the drop-down filter, looking for &amp;#8220;Retrying&amp;#8221; emails.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m32wmoSKCg1qecbj6.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A total of 10 retries will be made, with growing intervals from 1 minute to 6 hours.&lt;/strong&gt; This is done so that if your web app has longer downtime, it still has a chance to receive all of the posts when it is back online. Only if all of the retries have failed, your Inbound page will show the message as &lt;em&gt;Inbound Error&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m32wkhNgCl1qecbj6.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How much does retry cost?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Retries don&amp;#8217;t cost you anything - a single credit is taken for processing inbound email and includes all of the potential retries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is the next thing we are working on?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We are improving our infrastructure to produce much faster processing times for inbound emails. Another idea we&amp;#8217;re working on is manual retries initiated from UI. If you have any suggestions on what you would like to see with Inbound, please let us know! You can comment here, send us your thoughts over Twitter (&lt;a href="http://twitter.com/postmarkapp" target="_blank"&gt;@postmarkapp&lt;/a&gt;) or &lt;a href="mailto:support@postmarkapp.com" target="_blank"&gt;email support&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/22204186320</link><guid>http://blog.postmarkapp.com/post/22204186320</guid><pubDate>Tue, 01 May 2012 14:43:30 -0400</pubDate><category>inbound</category><category>retry</category><dc:creator>mgornik</dc:creator></item><item><title>Inbound Improvements: Better Contacts JSON &amp; New Date Fields</title><description>&lt;p&gt;We have introduced some changes &lt;a href="http://developer.postmarkapp.com/developer-inbound-parse.html" target="_blank"&gt;to the posted JSON object&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In a nutshell, here are the improvements:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;All contacts (From, To, Cc addresses) will contain both email and full name (display name). Before this change, we only extracted email address, but having the the full name will be a useful addition. Email and full name are separated into two JSON fields, so no additional parsing on your side is required.&lt;br/&gt; &lt;/li&gt;
&lt;li&gt;Emails with multiple recipients will be parsed on our side and passed with the JSON object as JSON arrays. Now you can easily traverse through all recipients, without any parsing.&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The Date property is added to JSON, holding the timestamp of the original message (presenting local time of the message sender). This can be useful to fetch local time zone of the people sending messages to your web app, among other things.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The specifics of these changes are included in the developer docs for handling &lt;a href="http://developer.postmarkapp.com/developer-inbound-parse.html#contacts" target="_blank"&gt;contacts&lt;/a&gt; and &lt;a href="http://developer.postmarkapp.com/developer-inbound-parse.html#date" target="_blank"&gt;send date&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Executing a non-breaking release&lt;/h2&gt;
&lt;p&gt;To be respectful of your apps, we are going to keep all existing fields in posted JSON and only add new ones. &lt;/p&gt;
&lt;p&gt;We added new fields with similar information to some of the existing fields, but they offer more information and have additional formatting. &lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;"From": "myUser@theirDomain.com",
"FromFull": {
  "Email": "myUser@theirDomain.com",
  "Name": "John Doe"
},&lt;/pre&gt;
&lt;p&gt;This will cause some duplicate data to appear in posted JSON but will allow you some time to change over to using the new format. &lt;/p&gt;
&lt;p&gt;We&amp;#8217;re looking for specific use cases where the legacy format is useful. If your app includes one of those cases, please reply to this email and let us know. &lt;/p&gt;
&lt;p&gt;Finally, many thanks to the developers who have quickly updated their &lt;a href="http://developer.postmarkapp.com/developer-inbound-parse.html#code-examples" target="_blank"&gt;code examples for Postmark Inbound&lt;/a&gt; in response to this update. If you&amp;#8217;re interested in providing examples in other languages/frameworks, we can offer free credits in return for your contributions!&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re really happy to be hearing from customers about how they&amp;#8217;ve been using Inbound, so if you&amp;#8217;ve got stories you haven&amp;#8217;t told yet, please share them with us!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/20594757290</link><guid>http://blog.postmarkapp.com/post/20594757290</guid><pubDate>Fri, 06 Apr 2012 12:35:00 -0400</pubDate><dc:creator>alexknows</dc:creator></item><item><title>DevOps Deals with Server Density</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m1z0bz7sEG1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Our friends at &lt;a href="http://serverdensity.com" target="_blank"&gt;Server Density&lt;/a&gt; are running a series of deals in the coming months highlighting the useful sysadmin/development tools that they use and love. We&amp;#8217;re thrilled to be their &lt;a href="http://blog.serverdensity.com/2012/04/05/devops-deals-1-postmark/" target="_blank"&gt;first featured deal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In return, they&amp;#8217;re &lt;strong&gt;offering a year of free server monitoring for 1 server to all Postmark customers&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Server Density provides hosted monitoring, analytics, and alerts for your servers and websites. You can easily start monitoring the status and response times of your websites which can be correlated with server metrics like CPU, memory, disk and other applications like Apache, MySQL and MongoDB.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How we use it:&lt;/strong&gt; We use Server Density to monitor server health and statistics (on OS and DB levels). And we also publish custom metrics to Server Density which are used to monitor our own parameters in Postmark.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The deal:&lt;/strong&gt; Server Density is offering Postmark customers 1 year of free server monitoring for 1 server to new accounts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to get the deal:&lt;/strong&gt; E-mail &lt;a href="mailto:hello@serverdensity.com" target="_blank"&gt;hello@serverdensity.com&lt;/a&gt; with your Server Density account URL and mention this blog post.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/20535137253</link><guid>http://blog.postmarkapp.com/post/20535137253</guid><pubDate>Thu, 05 Apr 2012 13:45:00 -0400</pubDate><dc:creator>alexknows</dc:creator></item><item><title>Lessons learned from our recent outages</title><description>&lt;p&gt;I owe an explanation for the recent issues on Postmark. This week we had some pretty terrible performance on our MongoDB cluster, resulting in delayed emails, disabled activity and even disabled bounce API. No emails were lost during the outages, but I do want to explain what happened, what we did, and what we are doing about it.&lt;/p&gt;

&lt;h2&gt;Cause and effect&lt;/h2&gt;

&lt;p&gt;In short, one of our MongoDB clusters failed, forcing a failover to a secondary machine as a primary. Unfortunately this new primary did not have enough resources (Disk IO) to keep up with the write load that Postmark throws at it. Since the other replica failed, we basically had to wait until it rebuilt to bring it back, which took over a day with the amount of data we had on that cluster. Once we failed over again, everything instantly came back to normal.&lt;/p&gt;

&lt;p&gt;The issue that occurred is not something new. We’ve had &lt;a href="http://blog.postmarkapp.com/post/6250658062/an-update-on-email-sending-delays" target="_blank"&gt;challenges with MongoDB in the past&lt;/a&gt;. I would say that it is not entirely about how MongoDB works, but how it fits our needs and how we use it. Postmark captures a lot of data each day, which we store both in MongoDB for archival and &lt;a href="http://www.elasticsearch.org/" target="_blank"&gt;Elastic Search&lt;/a&gt; for searching.&lt;/p&gt;

&lt;p&gt;We go through so much data that in order to maintain the performance that our customers expect, we need to purge data constantly. With a solution like MongoDB, this causes two problems.&lt;/p&gt;

&lt;p&gt;First, we have to constantly delete data, which adds to the disk utilization on each primary in the replicaset. Second, when data is purged, it does not release the space on disk, meaning that we have to run constant compactions or resync to get it back.&lt;/p&gt;

&lt;p&gt;As a result of these problems, our Bounce API was down for almost two days. We chose to disable that part of the API because it uses MongoDB queries to find emails, which puts additional load on the servers. We decided that it was better to have email sending services in good shape if it meant the Bounce API was offline.&lt;/p&gt;

&lt;p&gt;While embarrassing, I still feel this was the right decision. The other side affect of the performance issues are inaccurate “In queue” messages in activity. While all emails were sent successfully (although possibly delayed in some cases), the activity statuses were still being pulled from MongoDB data which reflected some inconsistency while it was suffering. We are slowly updating the activity history to reflect the properly sent messages and you can expect them to be back to normal within the next day or so. All new messages are being shown accurately.&lt;/p&gt;

&lt;h2&gt;A silver lining&lt;/h2&gt;

&lt;p&gt;One really good thing that came out of the performance issues is an updated Bounce API. The bounce API has always gone directly to MongoDB when searching for email records. Since MongoDB is not really meant for searching, it was very slow, and if you use it you probably had timeouts in the past. One of our developers, JP Toto, was able to rebuild it to make calls directly to Elastic Search, which results in near instant responses. This change will also allow us to enhance how you search for bounce (and sent) records in the future.&lt;/p&gt;

&lt;h2&gt;Rethinking our architecture&lt;/h2&gt;

&lt;p&gt;We’ve been on MongoDB for a long time. At this point we are rethinking our architecture and have a plan for some very thorough benchmarking of other nosql (and sql) databases to see how they might fit our needs. The most important part of the results of this benchmarking is making sure that our email archive cannot affect the real-time sending that our customers rely on. This either means an eventually consistent solution or heavy background processing, or a combination of both. We still have not ruled out MongoDB, but we have some ideas on how we can use it differently that might fit us better.&lt;/p&gt;

&lt;p&gt;Since most of our customers are also developers, we’ll make sure to post our benchmarking results once we are done.&lt;/p&gt;

&lt;p&gt;More than anything, I want to sincerely apologize for the problems. For the most part, we know we are doing our job when you forget we exist because everything “just works”. We heard from many of you because that wasn‘t the case in the past few days.&lt;/p&gt;

&lt;p&gt;We‘ll make sure that the next time we hear from you, it’s on a positive note. Thanks for your patience and support.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/20172172065</link><guid>http://blog.postmarkapp.com/post/20172172065</guid><pubDate>Fri, 30 Mar 2012 11:34:00 -0400</pubDate><dc:creator>cnagele</dc:creator></item><item><title>A really rough Saturday</title><description>&lt;p&gt;Today we were going to have a really important, but low impact maintenance. This morning at 9am the team brought the application offline to migrate to a new, more powerful database. Email sending was not going to be affected during most of the process, we expected about 2-4 minutes of paused sending. Things did not happen as we expected and we had some long outages and delays in sending. I want to explain what happened in detail.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;h2&gt;What happened&lt;/h2&gt;
&lt;p&gt;The process to move to the new database meant we had to transfer data. We were moving the database to our datacenter in Chicago (from Virginia). When we came back online we noticed significantly worse performance. While we investigated what the cause could be, emails were sending but at a much slower rate.&lt;/p&gt;

&lt;p&gt;To combat the slowness, we added many more workers and about 20 minutes later sending was back to full speed. At this time we realized something strange was going on. Our test accounts that we created after the migration were reflecting inconsistent data. As we continued to investigate, we realized that the transfer of the old to new DB was incomplete. This was totally unexpected and took a while to realize. During this time, all accounts were not affected and sending chugged along very quickly.&lt;/p&gt;

&lt;p&gt;We decided that the best way to fix the issue was to reimport the old DB dump. We had to put the app in emergency offline mode and run the import. After about 15 minutes it completed, but was still missing some records. We decided the only solution at that point was to revert back. About 10 minutes later the app was back online and sending was instant.&lt;/p&gt;

&lt;h2&gt;The damage&lt;/h2&gt;
&lt;p&gt;By reverting back we lost some data from today between 10am EST and 2:30pm EST. This includes a some new account sign ups as well as any credit deductions and sent email count. However, the sent records can still be seen in the activity page.&lt;/p&gt;

&lt;p&gt;The good news is we didn&amp;#8217;t lose any emails, and all emails are in Activity for searching.&lt;/p&gt;

&lt;h2&gt;What we&amp;#8217;re doing now&lt;/h2&gt;
&lt;p&gt;Russ and the team are investigating what happened. In all our testing we weren&amp;#8217;t able to predict that the sync would be incomplete. Until we know for sure, we will hold off on the migration. Our hope is to try again next weekend. Before we do, we will send an email notice about the maintance so you&amp;#8217;re fully aware of any upcoming downtime.&lt;/p&gt;

&lt;p&gt;We are very aware of the affect this kind of day has on our customers and their businesses. We use Postmark ourselves and rely on it&amp;#8217;s uptime. We&amp;#8217;ve gotten to a really good place testing and most days you never hear of any of our deployments or updates. On behalf of myself, Chris and our team, we&amp;#8217;re very sorry. We will continue to work towards making sure these kinds of situations don&amp;#8217;t happen again.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/19848907670</link><guid>http://blog.postmarkapp.com/post/19848907670</guid><pubDate>Sat, 24 Mar 2012 15:38:00 -0400</pubDate><dc:creator>natalienagele</dc:creator></item><item><title>Emails getting caught in Gmail Spam? Find out why using...Gmail.</title><description>&lt;p&gt;You know that sending your transactional email through Postmark is the best way to improve your delivery rates. But sometimes, even with the best of tools and intentions, your emails will end up in spam and you won&amp;#8217;t know why.&lt;/p&gt;
&lt;p&gt;The next time you&amp;#8217;re working to troubleshoot why an email is going to your (or your customers&amp;#8217;) spam filter in &lt;strong&gt;Gmail&lt;/strong&gt;, you can click on the email itself and look right below the sender and recipient information for more information about why Google thinks that email is spam.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m1cnc2pjRI1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m1cnba2axt1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m1cndfM0Dv1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;These are just a couple of examples from my own spambox. Other options may include:&lt;/p&gt;
&lt;blockquote&gt;We&amp;#8217;ve found that lots of messages from xyz@xyz.com are spam.&lt;/blockquote&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;blockquote&gt;It contains content that&amp;#8217;s typically used in spam messages&lt;/blockquote&gt;
&lt;p&gt;Even when you&amp;#8217;re sending through Postmark, it&amp;#8217;s a great idea to make sure that you are set up to periodically receive copies of your transactional emails, and take special notice  when you make copy changes. If emails start going to spam, you can use this new Gmail feature to try to determine why.&lt;/p&gt;
&lt;p&gt;Of course, if you&amp;#8217;re ever stumped as to why an email sent with Postmark isn&amp;#8217;t being delivered or is landing in the spam filter, Postmark&amp;#8217;s expert support team is ready to help you diagnose the problem. &lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/19789371226</link><guid>http://blog.postmarkapp.com/post/19789371226</guid><pubDate>Fri, 23 Mar 2012 14:14:00 -0400</pubDate><dc:creator>alexknows</dc:creator></item><item><title>Two ways to reduce bounced welcome emails</title><description>&lt;p&gt;We encourage our customers to think of Postmark is a &amp;#8220;good senders club&amp;#8221; for transactional email. ISPs base part of a sender&amp;#8217;s reputation on things like spam complaints and bounces and Postmark helps you make sure that you can keep those rates low in order to keep deliverability high for everyone.&lt;/p&gt;
&lt;p&gt;A common technique in email marketing services is to help customers with &amp;#8220;list hygiene&amp;#8221;, largely for the same reasons. An ESP will often provide tools to help their customers scan the list for emails that are likely to generate bounces. This means that the tool will highlight emails with commonly fake or likely misspelled domains.&lt;/p&gt;
&lt;p&gt;Transactional email requires a different approach, because a user signing up for a service is much less likely to be using an intentionally fake email address. They &lt;em&gt;are&lt;/em&gt;, however, likely to have typos.&lt;/p&gt;
&lt;p&gt;A common technique to avoid email typos is to have the customer type their email in twice and verify, but that&amp;#8217;s extra work that can slow a user down during signup. Instead, we recommend doing a little bit of extra work to help your customers sign up quicker and still proactively catch email typos. &lt;/p&gt;
&lt;p&gt;Here are couple of techniques for catching and fixing typo&amp;#8217;d emails for your users in a way that&amp;#8217;s likely to surprise and delight them.&lt;/p&gt;
&lt;h2&gt;Client-Side Suggestion&lt;/h2&gt;
&lt;p&gt;A brand new jQuery library authored by the developers at &lt;a href="http://kicksend.com/" target="_blank"&gt;Kicksend&lt;/a&gt; allows you to specify a set of domains that are often mistyped, and it will catch domains that are similar enough to be a typo and suggest the correct domain to the user.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Kicksend/mailcheck" target="_blank"&gt;&lt;img src="http://media.tumblr.com/tumblr_m18rkl9PJJ1qz95yj.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The library does require that you bring your own list of domains, which you can get ideas for from browsing your bounces &lt;a href="https://img.skitch.com/20120321-ngeafpknyhmj74xt8hytk1y2s4.jpg" target="_blank"&gt;in the Postmark activity filter&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;This library - &lt;a href="https://github.com/Kicksend/mailcheck" target="_blank"&gt;dubbed mailcheck&lt;/a&gt; - is new, so we strongly recommend testing it well before implementing it. Grab it on &lt;a href="https://github.com/Kicksend/mailcheck" target="_blank"&gt;Github here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Postmark Bounce Hooks&lt;/h2&gt;
&lt;p&gt;Have you ever had a user who didn&amp;#8217;t get their confirmation email, only for you to realize after investigation that it was because they had a typo in their email address?  Or what if someone changes their email address and forgets to update it in your app, and then stops getting important notifications?&lt;/p&gt;
&lt;p&gt;If you use Postmark for your emails, we&amp;#8217;ll detects bounces and their cause, and provide information back to your app &lt;a href="http://developer.postmarkapp.com/developer-bounces.html" target="_blank"&gt;when the bounce is caught via a webhook&lt;/a&gt;, where you can parse information about the bounce from a JSON post. This information can be used any way you like, but one of the ways we recommend using it is to provide useful information to your logged in users.&lt;/p&gt;
&lt;p&gt;As an example in Beanstalk, we parse bounces and notify users that are logged in about the bounce. We even make recommendations based on the bounce reason and recommend updating the address in Beanstalk while they are still logged in. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m18x1cIjod1qz95yj.png"/&gt;&lt;/p&gt;
&lt;p&gt;If the user logged in is an account owner, we let them know about any addresses in their account that bounced recently.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m18x12NEiq1qz95yj.png"/&gt;&lt;/p&gt;
&lt;p&gt;With just a little bit of work we&amp;#8217;re able to reduce customer support by a lot, and help keep our customers happy and informed.&lt;/p&gt;
&lt;p&gt;Take a look at our &lt;a href="http://developer.postmarkapp.com/developer-bounces.html" target="_blank"&gt;bounce hooks API&lt;/a&gt; to set this up. &lt;/p&gt;
&lt;h2&gt;Less bounces = happier customers&lt;/h2&gt;
&lt;p&gt;Remember that reducing your bounce rate isn&amp;#8217;t only a best practice for being a Postmark customer, but your customers will appreciate you being thoughtful and helping them catch their mistakes. Reducing their confusion and frustration will result in them spending more time enjoying your application, and little experiences like these help a lot!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/19685472721</link><guid>http://blog.postmarkapp.com/post/19685472721</guid><pubDate>Wed, 21 Mar 2012 13:48:00 -0400</pubDate><dc:creator>alexknows</dc:creator></item><item><title>New Code Examples Postmark  Inbound in PHP &amp; Python</title><description>&lt;p&gt;Hot on the heels of the &lt;a href="http://blog.postmarkapp.com/post/16179766662/learn-to-use-postmark-inbound-with-node-js-couchdb" target="_blank"&gt;Node.js example&lt;/a&gt; we shared last week, we recently had two new &amp;#8220;mitt&amp;#8221; libraries contributed to make it easy to process JSON data sent in Postmark Inbound&amp;#8217;s webhooks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NEW &lt;/strong&gt;&lt;strong&gt;PHP Mitt:&lt;br/&gt;&lt;/strong&gt;Joffrey Jaffeux has built a &lt;a href="https://github.com/jjaffeux/postmark-inbound-php" target="_blank"&gt;well documented PHP mitt&lt;/a&gt;, and has even included instructions for using this code to &lt;a href="https://github.com/jjaffeux/postmark-inbound-php/issues/1" target="_blank"&gt;process inbound emails in CodeIgniter projects&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NEW Python Mitt:&lt;/strong&gt;&lt;br/&gt;Inspired by Joffrey&amp;#8217;s contribution, Jose Padilla developed a similar project for &lt;a href="https://github.com/jpadilla/postmark-inbound-python" target="_blank"&gt;using Postmark Inbound in Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And don&amp;#8217;t forget that there is still the &lt;a href="https://github.com/r38y/postmark-mitt" target="_blank"&gt;Postmark Inbound rails gem&lt;/a&gt; developed by Randy Schmidt.&lt;/p&gt;
&lt;p&gt;Many thanks to both of them for their contributions!&lt;/p&gt;
&lt;p&gt;We are actively looking for your contributions for other languages to &lt;a href="http://developer.postmarkapp.com/developer-inbound-parse.html#code-examples" target="_blank"&gt;add to our developer documentation&lt;/a&gt;. If you write a code sample or library for Postmark Inbound, please email us at &lt;a href="mailto:support@postmarkapp.com" target="_blank"&gt;support@postmarkapp.com&lt;/a&gt;. Contributions are appreciated and quality contributions are rewarded with free Postmark credits.&lt;/p&gt;
&lt;p&gt;We have a low-traffic &lt;a href="http://groups.google.com/group/postmark-api-developers/" target="_blank"&gt;API developer email list&lt;/a&gt; that you can join as well.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/16763656808</link><guid>http://blog.postmarkapp.com/post/16763656808</guid><pubDate>Mon, 30 Jan 2012 11:26:16 -0500</pubDate><dc:creator>alexknows</dc:creator></item><item><title>Learn to use Postmark Inbound with Node.js &amp; CouchDB</title><description>&lt;p&gt;Since our &lt;a href="http://blog.postmarkapp.com/post/15687406657/introducing-postmark-inbound-easily-parse-replies-other" target="_blank"&gt;launch on Tuesday&lt;/a&gt;, we&amp;#8217;ve gotten lots of great questions and comments on Postmark&amp;#8217;s new inbound email parsing service. Since, &lt;a href="https://twitter.com/#!/mheadd" target="_blank"&gt;Mark Headd&lt;/a&gt; made a great open source contribution that we&amp;#8217;ll be adding to our docs: a &lt;a href="https://gist.github.com/1647808" target="_blank"&gt;Node.js listener for Postmark Inbound&lt;/a&gt; that stores emails parsed by Postmark in &lt;a href="http://couchdb.apache.org/" target="_blank"&gt;CouchDB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;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&amp;#8217;ll see what I mean).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Big thanks to Mark for his contribution&lt;/strong&gt;, and going the extra mile with the screencast which I&amp;#8217;ve embedded below.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;d like to earn some free Postmark credits, &lt;a href="mailto:alex@wildbit.com" target="_blank"&gt;email me&lt;/a&gt; and let me know what you&amp;#8217;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&amp;#8217;ll get!&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/Z7uY-vluVgM?rel=0" width="560"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Discuss this on &lt;a href="http://news.ycombinator.com/item?id=3501971" target="_blank"&gt;HackerNews&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/16179766662</link><guid>http://blog.postmarkapp.com/post/16179766662</guid><pubDate>Fri, 20 Jan 2012 18:49:27 -0500</pubDate><dc:creator>alexknows</dc:creator></item><item><title>Introducing Postmark Inbound: Easily parse replies &amp; other incoming email into JSON for your app</title><description>&lt;p&gt;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 &lt;strong&gt;everyone&lt;/strong&gt; to be able to &lt;strong&gt;&lt;a href="http://postmarkapp.com/inbound" target="_blank"&gt;parse incoming emails&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class="no-border image-center" src="http://media.tumblr.com/tumblr_lxsqj8zAOe1qz6hdh.png"/&gt;&lt;/p&gt;
&lt;p&gt;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 &lt;a href="http://postmarkapp.com/inbound" target="_blank"&gt;Postmark Inbound&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Every Postmark server now includes an inbound email address. We’ll turn anything you send to this address into a beautifully formatted &lt;strong&gt;JSON object&lt;/strong&gt; and post it to your application over HTTP, complete with email contents, headers, even attachments.&lt;/p&gt;
&lt;h2&gt;Postmark inbound is perfect for:&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Replying to in-app messages.&lt;/li&gt;
&lt;li&gt;Analyzing and acting on email content.&lt;/li&gt;
&lt;li&gt;Creating tasks, reminders, and posts.&lt;/li&gt;
&lt;li&gt;Using email to upload files.&lt;/li&gt;
&lt;li&gt;And more!&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We’ve worked hard to keep Postmark simple, including how you pay for it. Just pay for what you use, &lt;strong&gt;starting at $1.50/1000 emails&lt;/strong&gt;. The same Postmark credits can be used for outbound and inbound email processing.&lt;/p&gt;
&lt;h2&gt;Try Postmark Inbound today&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://postmarkapp.com/inbound" target="_blank"&gt;Postmark Inbound&lt;/a&gt; is available for all Postmark customers and new accounts immediately. Our &lt;a href="http://developer.postmarkapp.com/developer-inbound.html" target="_blank"&gt;developer documentation&lt;/a&gt; is available to help you get started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://postmarkapp.com/sign_up" target="_blank"&gt;Sign up&lt;/a&gt; for your own account and get started right away.&lt;/p&gt;
&lt;p&gt;You can also learn how popular issue tracker &lt;a href="http://postmarkapp.com/story-donedone" target="_blank"&gt;Done Done&lt;/a&gt; and our own hosted version control system &lt;a href="http://postmarkapp.com/story-beanstalk" target="_blank"&gt;Beanstalk&lt;/a&gt; use Postmark Inbound every day.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;P.S. Are you as excited about this as we are? &lt;/strong&gt;Share that excitement on &lt;a href="http://news.ycombinator.com/item?id=3475308" target="_blank"&gt;HackerNews&lt;/a&gt;!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/15687406657</link><guid>http://blog.postmarkapp.com/post/15687406657</guid><pubDate>Tue, 17 Jan 2012 04:24:00 -0500</pubDate><dc:creator>alexknows</dc:creator></item><item><title>We should have an emissions check for ESPs</title><description>&lt;p&gt;Chris&amp;#8217;s &lt;a href="http://blog.postmarkapp.com/post/14127210172/the-false-promises-of-dedicated-ips" target="_blank"&gt;posted yesterday about the problems with selling dedicated IPs&lt;/a&gt; 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&amp;#8217;s not like it&amp;#8217;s a higher calling, it&amp;#8217;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&amp;#8217;s the junk mail that&amp;#8217;s difficult to police but be believe can and should be done by every ESP.&lt;/p&gt;
&lt;h2&gt;Junk mail vs. Spam mail&lt;/h2&gt;
&lt;p&gt;We talk a lot about spam in the email industry, but we don&amp;#8217;t talk much about what I consider &amp;#8220;junk mail&amp;#8221;.&lt;/p&gt;
&lt;p&gt;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&amp;#8217;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&amp;#8217;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).&lt;/p&gt;
&lt;p&gt;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&amp;#8217;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&amp;#8217;t necessarily get flagged as spam.&lt;/p&gt;
&lt;h2&gt;Our view&lt;/h2&gt;
&lt;p&gt;At Postmark, we don&amp;#8217;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&amp;#8217;s specific action. Even with that we keep our spam threshold &lt;a href="http://blog.postmarkapp.com/post/4028713269/good-transactional-emails-should-not-generate-spam-compl" target="_blank"&gt;extremely low&lt;/a&gt;. Some emails still trigger spam complaints, commonly things like &lt;a href="http://blog.postmarkapp.com/post/698514728/the-dangers-of-send-to-friend-tools" target="_blank"&gt;invite friend tools&lt;/a&gt;, auto-responders, etc. We keep a strict eye out for that kind of activity and ban it from Postmark if it becomes abusive.&lt;/p&gt;
&lt;p&gt;Strict? Maybe. There&amp;#8217;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.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s junk mail, and we don&amp;#8217;t stand for it.&lt;/p&gt;
&lt;h2&gt;Emissions Testing For A Better (Emailing) Environment&lt;/h2&gt;
&lt;p&gt;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&amp;#8217;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&amp;#8217;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.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;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 &lt;em&gt;better&lt;/em&gt; 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.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/14229166902</link><guid>http://blog.postmarkapp.com/post/14229166902</guid><pubDate>Wed, 14 Dec 2011 16:32:55 -0500</pubDate><dc:creator>natalienagele</dc:creator></item><item><title>The false promises of dedicated IPs</title><description>&lt;p&gt;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 &amp;#8220;improve email delivery.&amp;#8221; 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.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;When confronted with the task of setting up an outbound mail server, there are a lot of things you have to consider. The first and foremost is making sure that all of your outbound emails are always sent from a consistent public IP address. This IP becomes the unique identifier that ISPs, accreditation services and blacklists use to track your activity and your reputation as you send. Once you have a dedicated IP, you can then continue the process of making sure you have proper reverse DNS records, adding it to your SPF records, setting up feedback loops and so on. I &lt;a href="http://wildbit.com/blog/2007/09/04/email-delivery-for-developers-part-1/" target="_blank"&gt;wrote a short guide on this&lt;/a&gt; back in 2007, most of which has stayed the same. &lt;/p&gt;

&lt;p&gt;When it comes to Email Service Providers (ESPs) like Postmark, we go through this process on behalf of our customers and use a range of dedicated IP addresses that are shared amongst all of our customers. The other approach is to provide a dedicated IP address for each customer. I think this is a bad idea. &lt;/p&gt;

&lt;h2&gt;Why offer a single customer their own dedicated IP?&lt;/h2&gt;

&lt;p&gt;It&amp;#8217;s pretty common for ESPs to offer dedicated IPs to a single customer. When we first launched Postmark this was one of the options (as a coming soon) when you created a new server. The idea behind a dedicated IP is to isolate reputation, throttling and blacklists to each customer. This helps with diagnosing issues and can avoid one customer killing the reputation of another if something goes wrong. The other advantage is that the customer can create a custom sub-domain for the dedicated IP, essentially looking like it is coming from their own servers.&lt;/p&gt;

&lt;p&gt;From the ESPs side, it is a point of protection as well. If a customer decides to start spamming and the IP gets blocked, it will not hurt other customers on the system (only half true - covering this next).&lt;/p&gt;

&lt;h2&gt;Why offering dedicated IPs is a bad idea.&lt;/h2&gt;

&lt;p&gt;A dedicated IP sounds like something exclusive and attractive when customers look at what ESPs offer. In reality though, it&amp;#8217;s a means of retreating from the overall responsibility of being an ESP. &lt;/p&gt;

&lt;p&gt;By offering a dedicated IP for the majority of customers the ESP is basically saying &amp;#8220;You do what you want, if you get blocked it&amp;#8217;s your fault.&amp;#8221; It also places a lot of heavy lifting on the customer, which defeats the purpose of paying for an infrastructure product in the first place. &lt;/p&gt;

&lt;p&gt;In addition to this, new dedicated IPs are just as bad as IP addresses with a bad reputation, since it has no reputation at all. In order for an ISP (Gmail, Hotmail, etc) to trust email traffic, they need to know your history. If an ESP just gives you a new IP and you start sending a bunch of email through it, you’ll need some serious good luck. In most cases a new IP address get’s “warmed up” first. Basically you take a new dedicated IP address and send a small number of emails out over time, slowly increasing it each day until it has a good reputation. If the ESP does not do this for each new dedicated IP, the customer is going to have problems.&lt;/p&gt;

&lt;p&gt;The other misconception with dedicated IP addresses is that each one is completely independent. For instance, if one customer gets blocked, all other IPs are fine, right? Wrong. ISPs and blacklists will monitor entire IP ranges and domains. If one IP causes enough problems, traffic from the entire subnet or domain could be blocked. &lt;/p&gt;

&lt;p&gt;The final reason, and this one is important, is that ISPs are starting to place a lot of weight on domain reputation, not just IP reputation. My guess is that over time IP reputation will slowly fade away while more weight is given to domain reputation along with authentication standards like DKIM. This allows you to &lt;a href="http://blog.postmarkapp.com/post/761753382/take-your-reputation-with-you" target="_blank"&gt;take your reputation with you&lt;/a&gt; and ties the reputation to the brand (your domain) which is a lot less disposable than an IP address. In &lt;a href="http://blog.wordtothewise.com/2011/12/looking-towards-the-future/" target="_blank"&gt;a recent post from Laura Atkins&lt;/a&gt;, a highly respected consultant in the industry, she stated:&lt;/p&gt;

&lt;blockquote&gt;Domain reputation is where delivery is going. And I think a lot of senders are going to struggle with delivery as they find that IP reputation is not enough to get into the inbox.&lt;/blockquote&gt;

&lt;p&gt;We feel the same. And that is why we push DKIM and SPF so much in our setup process. It&amp;#8217;s also why we are thrilled that &lt;a href="http://blog.postmarkapp.com/post/13878733532/over-61-of-postmark-customers-authenticate-their" target="_blank"&gt;over 60% of our customers use DKIM or SPF&lt;/a&gt; on our service, a huge accomplishment for us. &lt;/p&gt;

&lt;h2&gt;Why we decided to stick with shared IP addresses.&lt;/h2&gt;

&lt;p&gt;For the reasons above, we decided earlier this year to remove dedicated IPs as a feature. Our goal at Postmark is to make email delivery dead simple. Developers, designers and system administrators already have enough to deal with and email delivery should not be one of them. We also have a very acute focus on our email delivery rates. &lt;b&gt;If emails are not getting to the inbox, using Postmark is not justified, no matter what additional features we offer.&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;To make sure our delivery is rock solid it&amp;#8217;s our job to take 100% accountability of our IP addresses and our reputation as a sender to the ISPs. So instead of offering a dedicated IP address to a customer and send them off, we carefully and cautiously monitor a set of shared IP addresses for all customers. This helps in several ways:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;We have a very high volume across each IP address, which gives a proven history of good sending practices with each ISPs. High volume with great sending practices means fantastic inbox rates. &lt;/li&gt;
&lt;li&gt;We avoid the problem of constantly warming up new dedicated IPs, risking delivery issues for new customers. A customer can hit the ground running.&lt;/li&gt;
&lt;li&gt;We take full responsibility for the reputation of our IPs, giving us extremely high reputation and delivery rates. &lt;/li&gt;
&lt;li&gt;We can encourage our customers to use DKIM to focus on domain reputation, instead of IP reputation.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;This also means we actively kick customers out if they are not following our sending guidelines or terms of service. We have a very low tolerance for spam complaints, 10 in 10,000 emails. If a customer throws any alerts and does not clean up the problem we act fast. Some might think our tolerance is too low. However, spam complaints should be almost non-existent for most transactional email, and anything that could hurt our reputation is not worth the extra money that the spammy customers bring us. &lt;/p&gt;

&lt;p&gt;Joining Postmark is like being part of the “good senders club”, with all the benefits of emails to the inbox. &lt;/p&gt;

&lt;h2&gt;When dedicated IPs make sense.&lt;/h2&gt;

&lt;p&gt;Obtaining a dedicated IP (or many of them) can still make sense, but the decision is directly related to volume. For instance, we can’t just send on a single IP address. There is a point where too much volume can cause throttling at the ISPs, so you need to spread out that traffic across multiple IP addresses. In some cases we will recommend a dedicated IP address for customers who send an extremely large volume. This only works when the customer sends a lot of emails to all of the major ISPs. If you send a ton to Gmail but not Hotmail, you’re going to have issues delivering to Hotmail. Each ISP can only build a reputation on what they receive. Another benefit of a dedicated IP is getting accredited from services such as Return Path and ISIPP, allowing customers to track their individual reputation. In reality though, the majority of customers never have to worry about this. They leave it to us and we take care it.&lt;/p&gt;

&lt;h2&gt;Summing it up&lt;/h2&gt;

&lt;p&gt;While a dedicated IP address for an email service might sound sexy, it&amp;#8217;s not a true solution for getting to the inbox. ISPs only care about proper sending practices and a solid reputation. Instead of requiring every customer to build that reputation from scratch we feel it is better to allow approved customers to leverage our reputation, helping them get to the inbox immediately and without the hassle or care of how it works. Sure, this means we spend more time policing our customer&amp;#8217;s sending practices and kicking the trouble customers out, but that just means better email delivery for the rest of you.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/14127210172</link><guid>http://blog.postmarkapp.com/post/14127210172</guid><pubDate>Mon, 12 Dec 2011 15:01:25 -0500</pubDate><dc:creator>cnagele</dc:creator></item><item><title>Over 61% of Postmark customers authenticate their emails. Do you?</title><description>&lt;p&gt;I don’t think we can stress enough the importance of authentication in sending email.&lt;/p&gt;
&lt;p&gt;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&amp;#8217;t think that’s a bad thing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amazingly, over 60% of all Sender Signatures of our customers have DKIM and/or SPF setup correctly.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And of course, custom DKIM comes with any account for free, whether you are using the first 1000 credits or you&amp;#8217;re a high volume sender.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lvud2w4eYP1qz6hdh.png"/&gt;&lt;/p&gt;
&lt;h2&gt;Sign your emails, remove the doubt&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;The new word of the day is &lt;strong&gt;engagement&lt;/strong&gt;, 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?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Your job, remove the doubt.&lt;/strong&gt; And we&amp;#8217;ve designed Postmark to help you do that.&lt;/p&gt;
&lt;h2&gt;The “why” to signing your emails&lt;/h2&gt;
&lt;p&gt;When an email is sent to the ISP, they:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;check the IP reputation&lt;/li&gt;
&lt;li&gt;check the domain reputation&lt;/li&gt;
&lt;li&gt;check the content&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We’ve got the IP reputation covered for you, but you are in control of the other two.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;“But I need to send on behalf of my customers”&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;"Bob Smith" info@yourcompany.com, reply to: "Bob Smith" bob@smith.com&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Takeaway&lt;/h2&gt;
&lt;p&gt;Getting to the Inbox is really hard already. As a company, we want to make it easier, but we can&amp;#8217;t do it all for you. We take a really strong stance on recommending email authentication to our customers in Postmark and we&amp;#8217;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.&lt;/p&gt;
&lt;p&gt;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 &lt;a href="https://postmarkapp.com/sign_up" target="_blank"&gt;sign up for a Postmark account&lt;/a&gt; and see how easy it is. &lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/13878733532</link><guid>http://blog.postmarkapp.com/post/13878733532</guid><pubDate>Wed, 07 Dec 2011 12:51:33 -0500</pubDate><dc:creator>natalienagele</dc:creator></item><item><title>Postmark Spam Score API in the Wild - Spamscore.me and Christmas is Saved on Reddit</title><description>&lt;p&gt;A few weeks ago we released a &lt;a href="http://spamcheck.postmarkapp.com/" target="_blank"&gt;free API for checking the spamscore&lt;/a&gt; of a message. The folks on &lt;a href="http://news.ycombinator.com/item?id=3112991" target="_blank"&gt;HackerNews loved it&lt;/a&gt;, and it&amp;#8217;s been really great to see people find ways to get more value from this API.&lt;/p&gt;
&lt;p&gt;Some of our favorite usages have shown up in just the last week!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Spamscore.me&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We released our &lt;a href="http://spamcheck.postmarkapp.com/" target="_blank"&gt;Spam Checking API&lt;/a&gt; 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&amp;#8217;s &lt;em&gt;work&lt;/em&gt;. Wouldn&amp;#8217;t it be great if you could just forward an email somewhere, and moments later, get back a nicely formatted report about your email&amp;#8217;s spamscore?&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s exactly what &lt;a href="http://twitter.com/noinput" target="_blank"&gt;Jim Carter&lt;/a&gt; built with &lt;a href="http://spamscore.me" target="_blank"&gt;spamscore.me&lt;/a&gt;. The cool thing about spamscore.me is there&amp;#8217;s no interface other than your email client! Just forward any email to &lt;strong&gt;&lt;a href="mailto:go@spamscore.me" target="_blank"&gt;go@spamscore.me&lt;/a&gt;&lt;/strong&gt; and get one of these bad boys back.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lurgkfB0n81qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s free (but no less awesome), so please be kind to Jim&amp;#8217;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&amp;#8217;ve launched so we can write about it here!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Christmas is saved on Reddit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our hearts were warmed to find that someone recommended our spamscore checker to a Reddit user &lt;a href="http://www.reddit.com/r/web_design/comments/m6ecf/christmas_ecard_emails_keep_being_caught_in_spam/" target="_blank"&gt;whose christmas eCards were being sent to spam&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lurgkm6RHo1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Chris was able to jump in and do a quick analysis of the person&amp;#8217;s &lt;a href="http://www.reddit.com/r/web_design/comments/m6ecf/christmas_ecard_emails_keep_being_caught_in_spam/c2yogqs" target="_blank"&gt;spamscore report&lt;/a&gt;, recommending the following to help with the resolution:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Do not use your user&amp;#8217;s email as the from address. This is spoofing and you can&amp;#8217;t control the DKIM or SPF. Instead, use their &amp;#8220;From name&amp;#8221; but your email address.&lt;/li&gt;
&lt;li&gt;Make sure Reverse DNS is setup for your SMTP server.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;While we can&amp;#8217;t promise personal spamscore report interpretation for every problem, we&amp;#8217;re thrilled to see that this tool is being used to help solve real world problems in people&amp;#8217;s applications.&lt;/p&gt;
&lt;p&gt;Have you used the spamscore API to successfully track down a problem? Let us know in the comments.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/12883678616</link><guid>http://blog.postmarkapp.com/post/12883678616</guid><pubDate>Wed, 16 Nov 2011 11:03:00 -0500</pubDate><category>customer stories</category><category>tools</category><category>delivery</category><category>new features</category><dc:creator>alexknows</dc:creator></item><item><title>New Postmark System Status Dashboard</title><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Not everybody &lt;a href="http://twitter.com/postmarkapp" target="_blank"&gt;follows us on Twitter&lt;/a&gt;, and emailing our entire customer base isn’t always the best solution either. So today, we’re launching our new Postmark System Status page.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://status.postmarkapp.com" target="_blank"&gt;&lt;img alt="Postmark Status" src="http://media.tumblr.com/tumblr_lu21j8kdM21qz6hdh.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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 &lt;a href="http://status.postmarkapp.com" target="_blank"&gt;status.postmarkapp.com&lt;/a&gt; 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. &lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/12244365858</link><guid>http://blog.postmarkapp.com/post/12244365858</guid><pubDate>Wed, 02 Nov 2011 12:34:00 -0400</pubDate><category>notifications</category><category>new features</category><dc:creator>alexknows</dc:creator></item><item><title>What Happened This Morning</title><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;The outage occurred when our primary server ran out of disk space. We have &lt;a target="_blank" href="http://serverdensity.com"&gt;systems&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;p&gt;Moving forward, we&amp;#8217;re working on some upgrades to the cluster that will focus on availability and performance. We&amp;#8217;re also going to make the alerts a bit more sensitive to make sure we catch potential issues sooner.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;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&amp;#8217;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.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/11701559690</link><guid>http://blog.postmarkapp.com/post/11701559690</guid><pubDate>Thu, 20 Oct 2011 15:39:47 -0400</pubDate><dc:creator>cnagele</dc:creator></item><item><title>Checking Spam Scores is now as easy as Postmark</title><description>&lt;p&gt;Postmark&amp;#8217;s sending infrastructure works to carefully, quickly, and accurately deliver your transactional emails to your customers&amp;#8217; inboxes. The &lt;a href="http://blog.postmarkapp.com/post/1661276515/the-pesky-spam-folder" target="_blank"&gt;most common problems that occur outside of our configurations are related to content&lt;/a&gt;, and our customer service team often works with customers to improve dodgy email content that&amp;#8217;s causing emails to land in the spam filter.&lt;/p&gt;
&lt;p&gt;Today we&amp;#8217;re announcing a &lt;a href="http://spamcheck.postmarkapp.com/" target="_blank"&gt;new easy and free API&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt7u4w3SRP1qz95yj.png"/&gt;&lt;/p&gt;
&lt;p&gt;Simply POST an email&amp;#8217;s contents, all headers included, against our API and we&amp;#8217;ll return a score. If you want, we can also return a full report in your call.&lt;/p&gt;
&lt;p&gt;Not API savvy? No problem! Our &lt;a href="http://spamcheck.postmarkapp.com/" target="_blank"&gt;landing page for the API&lt;/a&gt; provides a fully functional scoring &amp;amp; reporting tool for you without having to ever write a line of code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Write an API wrapper, Get Free Postmark Credits&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This API is silly-simple, but we want to make sure that it&amp;#8217;s &lt;em&gt;useful&lt;/em&gt;. One way to do that is to make sure that there&amp;#8217;s a simple interface to it in everyone&amp;#8217;s favorite programming languages &amp;amp; frameworks. &lt;/p&gt;
&lt;p&gt;We&amp;#8217;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&amp;#8217;ll compile a directory of the wrappers and publish them along with the API.&lt;/p&gt;
&lt;p&gt;Our own &lt;a href="http://twitter.com/#!/orenmazor" target="_blank"&gt;Oren Mazor&lt;/a&gt; (who wrote the API) has provided an &lt;a href="https://github.com/orenmazor/postmark_spamassassin" target="_blank"&gt;example library in Python&lt;/a&gt;, if you&amp;#8217;re looking for patterns to follow. &lt;/p&gt;
&lt;p&gt;To submit an API wrapper, email a link to your repository to &lt;a href="mailto:alex@wildbit.com" target="_blank"&gt;alex@wildbit.com&lt;/a&gt;. We&amp;#8217;ll provide the free Postmark credits to one winner per language/framework, based on the timestamp of the submission. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HackerNews Discussion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We &amp;#8220;soft&amp;#8221; released this on Friday night and there was some great discussion on HackerNews, spending most of the weekend on the home page. &lt;a href="http://news.ycombinator.com/item?id=3112991" target="_blank"&gt;Jump over to the comments thread&lt;/a&gt; to see what people think!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/11571919511</link><guid>http://blog.postmarkapp.com/post/11571919511</guid><pubDate>Mon, 17 Oct 2011 11:10:00 -0400</pubDate><category>tools</category><category>api</category><category>delivery</category><category>content</category><dc:creator>alexknows</dc:creator></item><item><title>Major Performance Fix in Postmark's Activity Search </title><description>&lt;p&gt;As too many of our customers know, we&amp;#8217;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 &amp;#8220;Sent&amp;#8221; message activity (we&amp;#8217;re now storing 15 days instead of 10 days), we&amp;#8217;ve been working hard to refactor our activity search to - well, actually work quickly and consistently, for quite a while.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This morning we released the newly improved search algorithm, and it&amp;#8217;s performing extremely well. Searching our largest accounts takes just a few seconds, which means most accounts respond to search queries almost instantly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What Changed?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Milan, who&amp;#8217;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.&lt;/p&gt;
&lt;p&gt;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&amp;#8217;t send your email. The 2 main causes of this are: invalid Sender Signature or you&amp;#8217;re trying to email someone that has been marked inactive (due to a hard bounce or spam complaint).&lt;/p&gt;
&lt;p&gt;In both of those cases, you don&amp;#8217;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thanks!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#8217;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&amp;#8217;re here for as a service. We just want to thank our amazing customers for their support while we completed this important fix.&lt;/p&gt;
&lt;p&gt;Thanks so much, you are so awesome!&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/10731233360</link><guid>http://blog.postmarkapp.com/post/10731233360</guid><pubDate>Tue, 27 Sep 2011 13:24:00 -0400</pubDate><category>architecture</category><dc:creator>natalienagele</dc:creator></item><item><title>Wordpress Plugin Updated!</title><description>&lt;p&gt;We&amp;#8217;ve updated our Wordpress plugin that was announced last month to incorporate a number of important bug fixes, including proper support for HTML emails. Thanks to the customers who reported these bugs.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve also added a standard Wordpress license to our plugin to comply better with community standards and expectations.&lt;/p&gt;
&lt;p&gt;And of course, a big thanks to our plugin maintainer - &lt;a target="_blank" href="http://www.magicbeanapp.com/"&gt;Andy Yates&lt;/a&gt; - for all of his hard work.&lt;/p&gt;
&lt;p&gt;The plugin can be easily auto-updated from within Wordpress or installed from the &lt;a target="_blank" href="http://wordpress.org/extend/plugins/postmark-approved-wordpress-plugin/"&gt;Wordpress plugin codex&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/10443843243</link><guid>http://blog.postmarkapp.com/post/10443843243</guid><pubDate>Tue, 20 Sep 2011 11:48:55 -0400</pubDate><dc:creator>alexknows</dc:creator></item><item><title>Wordpress SMTP Problems are solved with Postmark.</title><description>&lt;p&gt;If you&amp;#8217;ve ever been responsible for a Wordpress site but not been in control of the server you&amp;#8217;re hosting it on, you might have run into issues where important emails - welcome emails, password resets, comment notifications, and more - didn&amp;#8217;t send at all. This is usually because the server&amp;#8217;s admin has disabled the default SMTP server, or perhaps disabled the PHP mail() method that Wordpress uses to send mail.&lt;/p&gt;
&lt;p&gt;Or if you&amp;#8217;re on shared hosting, you may have found these emails were sending after all - they were just going to your spam folder.&lt;/p&gt;
&lt;p&gt;Today, we&amp;#8217;re launching a Postmark Approved Wordpress plugin to make all of these problems a thing of the past.&lt;/p&gt;
&lt;p&gt;Simply &lt;a target="_blank" href="http://wordpress.org/extend/plugins/postmark-approved-wordpress-plugin/"&gt;download our plugin&lt;/a&gt; from the Wordpress Plugin Directory or search for &amp;#8220;Postmark Approved&amp;#8221; from inside your Wordpress admin for the easy one-click install.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lpqho6JWuF1qz95yj.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Once installed, simply plug in your Postmark API Key and the email address of a verified sender signature, and you&amp;#8217;re ready to go. We&amp;#8217;ve even made it easy to send a test email to make sure it&amp;#8217;s working before you click enable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why go &amp;#8220;approved&amp;#8221; when there&amp;#8217;s other options out there?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The biggest challenge in having &amp;#8220;unofficial&amp;#8221; plugins in the wild is debugging problems when they arise. It&amp;#8217;s also hard for us to know about how people are using the plugins, and what&amp;#8217;s good or missing. We&amp;#8217;re hoping that being closer to an &amp;#8220;approved&amp;#8221; plugin will allow us to keep a closer eye on the problems that Wordpress developers have, and evolve the plugin as well as Postmark to better serve the massive and growing Wordpress community.&lt;/p&gt;
&lt;p&gt;As Postmark features evolve, we can help keep the plugin fresh as well.&lt;/p&gt;
&lt;p&gt;Postmark has grown in part thanks to the support of dozens of the people who&amp;#8217;ve created and shared Plugin &amp;amp; API wrappers for their favorite languages and platforms. We&amp;#8217;re thankful for &lt;em&gt;everyone&amp;#8217;s&lt;/em&gt; hard work, and continue to work with third party developers to help deliver the best tools for working with Postmark.&lt;/p&gt;
&lt;p&gt;Feature requests? Hit us up in the comments, or &lt;a target="_blank" href="mailto:support@postmarkapp.com"&gt;email us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Special Thanks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We invited Andy Yates, who we knew from his work on &lt;a target="_blank" href="http://magicbeanapp.com"&gt;Magic Bean&lt;/a&gt; (a 3rd party iPhone/iPad app for our other product, &lt;a target="_blank" href="http://beanstalkapp.com"&gt;Beanstalk&lt;/a&gt;), to lead the development of this plugin with our guidance and assistance. Always vocal supporter of Wildbit products, we&amp;#8217;re immensely appreciative of Andy&amp;#8217;s effort dedicated to this project. &lt;/p&gt;</description><link>http://blog.postmarkapp.com/post/8778033288</link><guid>http://blog.postmarkapp.com/post/8778033288</guid><pubDate>Thu, 11 Aug 2011 10:08:00 -0400</pubDate><dc:creator>alexknows</dc:creator></item></channel></rss>

