Postmark bounce support?

I’m a big fan of Postmarkapp.com

We use their bounce API to create tickets when emails need attention.

What would it take to expand Discourse’s Bounce Processing to support Postmark?

See:

「いいね!」 3

We only support adding these sorts of things for mail services that have a free tier. Otherwise it doesn’t benefit enough people.

And for our hosted customers, we handle all email, so there’s no reason to do it for our customers.

「いいね!」 3

Also, we haven’t used any “Bounce API” but rather “Bounce Webhooks” which is documented here

「いいね!」 5

Postmark のバウンスウェブフックサポートに関するプルリクエストを現在受け付けていますか?公式にサポートされているバウンスプロバイダーの Mailgun は、無料プランを廃止しました。この業界では、一般的に無料プランが廃止される傾向にあるという印象を受けます:Tell HN: Mailgun lowers free-tier API from 10k to 625 emails per month | Hacker News

「いいね!」 3

PR はもちろん検討します。このプロバイダーが現在サポートされているものとは大きく異なる場合は、早期に連絡してください。そうすれば、ご提案のアプローチのマージ可能性についてフィードバックを提供できます。

「いいね!」 6

PR を提出しようとしています。

こちら に記載されているテスト用の curl コマンドを、私の開発環境で実行したところ、問題なく動作するようです。

ハードバウンドとソフトバウンドの両方に対する spec テストを含めました。

編集:その後、彼らのウェッブフックテストインターフェースからトリガーするテストも行いましたが、実際に動作しているようです。

これで問題ないと思います:add postmark webhook handling by pfaffman · Pull Request #8919 · discourse/discourse · GitHub

「いいね!」 6

マージされました!ありがとうございます!

「いいね!」 5

@wesochuck 氏による Bounce タイプへの以下の修正を提案します(Bounce タイプの定義については Bounce API | Postmark Developer Documentation を参照してくださいが、以下にも記載します)。

hard_bounces に追加:

  • BadEmailAddress – 「無効なメールアドレス — 指定されたアドレスは有効なメールアドレスではありません。」
  • BlockedISP ブロック — コンテンツまたはブラックリストにより、この ISP からブロックされました。」

Soft bounces に追加:

  • SMTPApiError – 「 SMTP API エラー — SMTP API を介してメールを受け入れる際にエラーが発生しました。」
  • DMARCPolicy – 「DMARC ポリシー — DMARC ポリシーによりメールが拒否されました。」

blocked は妥当だと思いますが、他の項目については確信が持てません。ご意見をいただければ、それに応じて PR を作成します。

詳細 — Webhook 処理用の Postmark PR は動作しません

申し訳ありませんが、私の PR は動作しません。

第一に、Postmark はデフォルトで message-id を破棄してしまいます。

第二に、Postmark が webhook に含める MessageID は、メッセージ内に含まれる Message-ID とは異なります。

出典: Everything you need to know about SMTP (Simple Mail Transfer Protocol) | Postmark

送信メールに X-PM-KeepID: true ヘッダーを追加する簡単な方法はありませんか?これをコア機能として追加することは可能でしょうか?

もしこの問題が解決すれば、実際の Message-ID を webhook ペイロードに含め、それに応じて処理する方法を検討します。

「いいね!」 4