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:
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:
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.
Also, we haven’t used any “Bounce API” but rather “Bounce Webhooks” which is documented here
Postmark のバウンスウェブフックサポートに関するプルリクエストを現在受け付けていますか?公式にサポートされているバウンスプロバイダーの Mailgun は、無料プランを廃止しました。この業界では、一般的に無料プランが廃止される傾向にあるという印象を受けます:Tell HN: Mailgun lowers free-tier API from 10k to 625 emails per month | Hacker News
PR はもちろん検討します。このプロバイダーが現在サポートされているものとは大きく異なる場合は、早期に連絡してください。そうすれば、ご提案のアプローチのマージ可能性についてフィードバックを提供できます。
PR を提出しようとしています。
こちら に記載されているテスト用の curl コマンドを、私の開発環境で実行したところ、問題なく動作するようです。
ハードバウンドとソフトバウンドの両方に対する spec テストを含めました。
編集:その後、彼らのウェッブフックテストインターフェースからトリガーするテストも行いましたが、実際に動作しているようです。
これで問題ないと思います:add postmark webhook handling by pfaffman · Pull Request #8919 · discourse/discourse · GitHub
マージされました!ありがとうございます!
@wesochuck 氏による Bounce タイプへの以下の修正を提案します(Bounce タイプの定義については Bounce API | Postmark Developer Documentation を参照してくださいが、以下にも記載します)。
hard_bounces に追加:
BadEmailAddress – 「無効なメールアドレス — 指定されたアドレスは有効なメールアドレスではありません。」Blocked 「 ISP ブロック — コンテンツまたはブラックリストにより、この ISP からブロックされました。」Soft bounces に追加:
SMTPApiError – 「 SMTP API エラー — SMTP API を介してメールを受け入れる際にエラーが発生しました。」DMARCPolicy – 「DMARC ポリシー — DMARC ポリシーによりメールが拒否されました。」blocked は妥当だと思いますが、他の項目については確信が持てません。ご意見をいただければ、それに応じて 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 ペイロードに含め、それに応じて処理する方法を検討します。