トピックをウォッチしている人がメール通知を受け取れない問題について

皆さん、こんにちは。

以下の件について、ご guidance をお願いします。

WordPress ウェブサイトで顧客がアカウントを登録すると、Discourse インスタンスにも自動的にアカウントが作成されます。カスタム機能として、顧客が投稿を「ウォッチ」できるように開発しました。これは、WordPress の投稿にあるボタンを押すと、関連する Discourse トピックに自動的に購読/ウォッチされることを意味します。

この機能は、顧客が Discourse インスタンスに一度ログインすると正常に動作しますが、Discourse でトピックを「ウォッチ」していても、Discourse にログインしていない場合、ウォッチしているトピックのメールがユーザーアカウントに送信されません。

この問題の解決策について、何かアイデアをお持ちの方はいらっしゃいますか? =)

よろしくお願いいたします。

簡単な答えは、Discourseへの訪問を顧客オンボーディングの一部にすることです。たとえば、サインアップ時に誘導できる新しい顧客向けの情報をDiscourseに掲載することは可能でしょうか。

コメントありがとうございます @Ellibereth

ですので、登録ユーザーは、メールでの確認を受け取る前に、フォーラムを訪問することが必須であると理解しました。

顧客が投稿を視聴できるようにする機能のコードを送っていただけますか?

WordPress Discourseプラグインを使用してDiscourseサイトでユーザーを認証していると仮定します。あなたがやろうとしていることは機能するはずです。Discourseに一度ログインしたユーザーの場合は機能しているため、問題の原因は、WordPressサイトで登録したときに、WP Discourseプラグインによってユーザーのメールが「確認済み」としてマークされていないことである可能性があります。その場合、ユーザーはWordPressサイト経由でDiscourseに初めてログインしたときにDiscourseから送信されるアクティベーションメールに応答する必要があります。Discourseは、ユーザーがそのアクティベーションメールのリンクをクリックするまでユーザーをアクティブ化しません。

それがケースであることを確認するには、最近アカウントを作成したユーザーのDiscourseユーザーページの「DiscourseConnect Single Sign On」セクションを確認してください。Last Payloadフィールドの「Show」ボタンをクリックして、require_activation パラメータが true に設定されているかどうかを確認してください。

これが問題の原因である場合、回避策があるかもしれません。

「いいね!」 4

simon様、詳細なご回答ありがとうございます。大変助かります。

require_activationを確認したところ、「false」に設定されていました。下記スクリーンショットをご確認ください。

「いいね!」 1

念のため、DiscourseユーザーがWordPressサイトで最初に登録したときに実際に作成されているかどうかも確認してください。最も可能性の高い方法は、「ログイン時にDiscourseユーザーを作成または同期する」WP Discourseオプションを有効にすることです。

そのオプションが有効になっているか、WordPressサイトで登録したときにDiscourseでユーザーが正常に作成されているか確認していただけますか?

それが問題の解決にならない場合は、さらに調査します。残念ながら、私のローカルDiscourseとWordPressサイト間の接続は現在機能していません。WordPressサイトがDiscourseから受け取るすべての応答は、「cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings」というエラーを返します。これは私のローカルサーバーの設定に関連していると確信しています。以前からこれを解決したいと思っていました。今日中に何が起こっているのか調べてみます。

編集:ローカルのWordPressサイトとDiscourseサイトを接続するための、一時的な回避策を見つけました。「ログイン時にDiscourseユーザーを作成または同期する」WP Discourseオプションを有効にした状態で、WPサイトでユーザーを登録し、Discourseアカウントを自動的に作成させ、API経由でトピックのメール通知を受け取るようにユーザーを設定できるようになりました。あなたのサイトで問題が発生している原因はわかりません。参考までに、私が実行しているAPI呼び出しの例を以下に示します。リクエストのApi-Usernameは、通知を受け取りたいユーザーのDiscourseユーザー名に設定されています。

curl -X POST "http://localhost:4200/t/9969/notifications" -H "Api-Key: $api_key" -H "Api-Username: notifyme" -F "notification_level=3"

この問題の解決にご協力いただき、ありがとうございました。

cronジョブと送信メールに関するいくつかの問題であることが判明しました。

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.