Which leads us to better support for non-ASCII characters

When a user asks Mailgun to parse their incoming emails and POST to their app via HTTP, we parse quotations, signatures, and attachments and then post them to a webhook. If a message doesn't have an html part (e.g. it was sent as plain text only) we still try to build an html part from the provided text part and post it as a stripped-html parameter (we also create the stripped-text part when an html-only email is received).

Recently a bug was found for this particular use case if the text part included non-ASCII characters. When this happened, they were corrupted in the stripped-html, so for example, "日本語" was transformed into "æ—¥æœ¬èªž". Now the bug is fixed and Mailgun properly creates proper html from text, even with non-ASCII characters.

Tell me more about Routes

This seems like a good a time as any to go over what Routes enable, becasuse they are really powerful. Routes allow you to set up a series of rules on how to handle incoming messages. Specifically:

[list type="check"]

Which messages to act on (e.g. messages from a particular person or with a particular subject or even all messages)

What you want to do with those messages (e.g. forward it to another email address or POST it to your app)

[/list]

When you elect to post the message to your app, Mailgun will either send you the entire unparsed MIME message (if that's your thing) or parse it for you and POST the parsed parameters. In both cases, we'll transcode the message to UTF-8 because we love our customers.

Below is a list of the parsed parameters that we will POST to your app when using Routes.