Sparkpost さようなら

ただし、Elastic Email にもいくつかの問題があります Add IsTransactional:true to SMTP Mail Headers to satisfy ElasticEmail - #8 by pfaffman

ジェイ、その件を持ち上げてくれてありがとう。もう少し詳しく理解させてください。

あなたが指摘しているのは、Elastic Email からメールが配信された際、受信者に非常に目立つリンクが提供され、彼らが一方的にメール配信のunsubscribe(購読解除)を行っても、Discourse側にはその事実が伝わらない、つまり、あなたというシステム管理者には何も伝わらない、ということでしょうか?

私には直接の経験はありません。

おそらく、彼らは解除リンクを挿入し、それを無効にするには特別なヘッダーが必要なのでしょう。Elastic Email で、解除を Discourse に通知する webhook を使えるかどうかはわかりませんが、Configure VERP to handle bouncing e-mails にはリストされていません。

AWS を使えるのであれば、それが最も良い解決策だとは思いますが、メールの設定方法を学びに来た人にとっては、良い解決策とは言えません。

Mailgun は本当に簡単です。

ありがとうございます。

これは私にとって少し議論の余地のない話ですが、その理由をお伝えします。SparkPostも全く同じことをしました(正直言うと、私が使えるフックがあったかどうか確認していませんでした。バカですね、実際にはあり、しかも2019年FGSです)。

その件では、影響を受けたサイトが私の地元コミュニティにサービスを提供していたため、SparkPostから配信されたメールの「登録解除」リンクを誤ってクリックしてしまった人物に偶然出くわし、パスワードリセットメールが届いていないと不満を漏らしているのを聞きました。SparkPostにはこの種の操作の監査ログがあり、管理者が誰かを再登録する機能もあります(もちろん、これは控えめに使う必要があります)。そのため、問題に気づいた後は簡単に修正できました。次回からはメールの設定をより適切に行うようにします。

ただ、Mailgunの方が魅力的に思えてきました。ありがとうございます!

Discourse がメールの返送をより「汎用的」に webhook で処理できることを願っています。当社の推奨プロバイダー(Postmark)もリストに含まれていないため、返送されたアドレスを持つ人々にメールを送り続けています。

返送メールの webhook 向けの、魔法のような汎用的な JSON パース機能があれば素晴らしいのですが!

おっしゃりたいのは、「魔法のような JSON ウェブフックの標準」があれば素晴らしいということですね。現状では、各メールサービスが独自の形式を採用しているため、個別のウェブフックパーサーが必要です。それを実現するプラグインを作成するのはそれほど難しくなく、おそらくマーケットプレイスで入手可能でしょう(あるいは PR として受理される可能性もあります)。その費用はおよそ 500 ドル程度です。

はい、まさにその通りですね。受信するバウンスデータの 90% 以上が JSON やその他の正規表現で処理可能な形式であると仮定すれば、設定を通じて、バウンスしたメールアドレスを表す JSON の「フィールド」や、バウンスの種類(ハード、ソフトなど)を表す別のフィールドを指定できるようにする可能性があります。

これを「汎用受信バウンスメール Webhook 正規表現パーサー」といった名前にすることもできます。名前にするととても言いやすいですよね :stuck_out_tongue: この種のサービスで継続的に見られる可能性のある常態的な変化に対処するのに役立つかもしれません。

当社は従業員向けイントラネットサイトとして利用頻度が低いため、当面は現状のまま運用する予定です。

別のスレッドから、Discourse のアンサブスクライブリンクの場所を ElasticMail に伝えることで、余分な ElasticMail のアンサブスクライブリンクを非表示にすることもできます。これは {unsubscribe:{https://.....}} のように特別に注釈を付けることで実現可能です(プルリクエストを送信する前に、サポートに確認することをお勧めします)。これは翻訳を編集することで実現できるかもしれません。

私もDiscourseインスタンスでSparkPostを使用しており、最近SparkPostからこの通知を受け取りました。
そのため、代替手段を探しました。
SendGridを設定しましたが、今のところうまく機能しているようです。私は月額15ドルのベーシックプランを使用しています。