We built Postmatic to be compatible with any WordPress install, anywhere, on any host. Even the really junky ones. That meant not relying on the outgoing or incoming mail service provided with the hosts. It’s just not reliable. Plus, you’ll get yourself in trouble if you have a lot of subscribers. There are very good reasons not to send your own email if you are sending in quantity. And once you start using Postmatic, you’ll be sending quite a lot.
So we take care of it. We didn’t want to mess around. We want Postmatic to just work for everyone. All email that leaves your site and has to do with Postmatic (new posts, new comment notifications, subscribe notices, unsubscribe notices, etc) is handled by us and sent through Mailgun.
An average outgoing transaction looks like this:
- You publish a post
- Postmatic packages your post into your template (filters shortcodes, throws the header on top, widgets on the bottom) and sends it up to our servers to be inlined (so it can look its best in as many email clients as possible). It also sends along a list of all of the email addresses the post needs to be mailed to.
- Our server creates a message for every one of your subscribers and hands each off to Mailgun.
- Mailgun delivers it to all the happy inboxes. This all happens very quickly.
And incoming looks like this:
- A subscriber replies to your post to leave you a comment.
- Each email sent by our server has a unique reply-to address assigned to it. If you reply to this post right now you’ll see it.
- That post comes back into Mailgun who in turn hand it off to our server.
- Our server looks at the reply-to address and figures out which site it belongs to, which post it is a comment on, what comment it is in response to, and what subscriber it came from.
- Our server then posts the comment back to your blog via the WordPress api. Sounds like magic, right? It’s not. It’s just a lot of hard work