会員情報編集時のメール認証でメールが送信されない

フォーラム バグ報告 会員情報編集時のメール認証でメールが送信されない

  • このトピックには10件の返信、4人の参加者があり、最後にAliciaにより4日、 22時間前に更新されました。
11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • 投稿者
    投稿
  • #102557
    Alicia
    参加者

    タイトル
    特定条件下の「会員情報編集時のメール認証」で、本人確認メールが送信されません
    (トピックタイトル (最大の長さ: 80):となっていますが、全角30文字が入りませんね。このせいで、一度登録したつもりの添付ファイルがはじかれて、添付もれになっているのではないかと思います。)

    いつもお世話になっております。

    他社製ですが、毎日ウェブ様のWelcart専用プラグイン

    Friendly Functions for Welcart Ver.1.2.3(最新)(以下、FFW)

    に関係するもので、Welcart ユーザーへの影響を鑑み、情報提供目的でこのフォーラムをお借りすることをお許しください。

    症状:
      Welcart 会員ログイン画面において、「ログイン」ボタンをクリック
      マイページにおいて、「会員情報編集」ボタンをクリック
      本来、ここでユーザー宛にメールが送信される仕様ですが、送信されません。
      キャッシュに異常があるのか、リロードすると送信されることがあります。

    特定条件下で発生:

     1.Welcart (Ver.2.11.3) > Welcart Shop システム設定 > 会員に関するセキュリティ
    会員情報編集時のメール認証: 有効にする

     2.設定 > FFW > ユーザビリティ設定
    「戻る」によるドキュメント有効切れ防止: 「利用する」

     なお、メール送信の不具合に関して、「送信したメールが迷惑メール扱いになる場合の対処」 とは無関係でメール自体が送信されません。「ログイン通知」メールは、正しく送信されます。

    ——————————————-
    テスト環境
    WordPress のバージョン:(6.6.2)
    Welcart のバージョン:(2.11.3)(最新)
    PHP のバージョン:(8.0.30)
    Welcart専用の拡張プラグインとバージョン:

     Friendly Functions for Welcart by MAINICHI WEB(毎日ウェブ) – 1.2.3 (最新)

    ご利用の親テーマとバージョン : Welcart Basic (1.8.5)(最新)
    ご利用の子テーマとバージョン : なし
    症状を確認したブラウザ: Chrome (Win)、Edge(Win)
    サーバー【重要】:X-Server シン・レンタルサーバー ベーシック
    ——————————————–

    #102592
    ikeda
    キーマスター

    Alicia 様
    こんにちは。こちら確認中です。
    改めてご案内させていただきますので今しばらくお待ちくださいませ。

    #102597
    yasumax
    キーマスター

    Alicia 様

    こんにちは。
    ご報告いただいた件につきまして、弊社と毎日ウェブ様とでそれぞれ検証を行いましたが、症状を再現できませんでした。
    他に原因があるのではないかと考えております。

    #102600
    Alicia
    参加者

    毎日ウェブ 様
    ikeda 様
    yasumax 様

    お手数をお掛けして申し訳ありません。
    検証いただきありがとうございます。

    何か他に条件があるのかもしれません。
    もう少し探ってみます。一旦、取り下げさせてください。
    お騒がせしてすみません。進展があればご報告いたします。

    #102622
    Alicia
    参加者

    少し手かがりが掴めました。

    念のため、サーバー側の設定でブラウザキャッシュも確認しましたが、「オフ」になっておりました。
    テスト環境はいつもできるだけデフォルトに近い環境で行っているのですが、条件が合致すると、不具合が再現してしまいます。

    素人ながら、甚だ僭越ではございますが、よろしければ少し教えて頂きたくお願いいたします。

    FFW Ver.1.2.3 の該当のコードにおいて

    576	/* 「戻る」でドキュメント有効切れを防ぐ */
    	if(!empty($preventExpiration) && $preventExpiration == 'yes'){
    		function friendly_functions_for_welcart_add_header_session()
    		{
    580			header("Cache-Control: private");
    			header("Pragma: no-cahce");
    			header("Expires: ");
    			header("Last-Modified: ");
    		}
    		add_action('send_headers', 'friendly_functions_for_welcart_add_header_session');
    	}
    

    こちらの

    580行目 cache-control: private 

    で、クライアント側でキャッシュ可能になっているのではないでしょうか?
    機能上必要なのだと思いますが、

    Chrome の検証ツールのネットワークで確認しましたところ、この機能を「利用する」にしますと
    https://〇〇〇.com/usces-member/?usces_page=member_edit
    がディスクキャッシュから配信されているのを確認しました。

    ディスクキャッシュを使っているために、サーバーに取りに行かず、本人確認メールの送付がトリガーされなかったのかと推測しました。

    このあたりの仕様と挙動が正しいものなのかも含めて私にはよくわからないのですが、想定された挙動でしょうか?
    試しに、ネットワークにて ☑キャッシュを無効化 にしてやると、キャッシュされずにサーバーから読み込まれることで、本人確認メールが送られるようになります。

    ブラウザでスーパーリロードしても、その瞬間にメールが送信されてきます。

    お客様に都度リロードを促すことも現実的ではないので、どうしたものかと思います。

    あるいは、ディスクキャッシュされていても、本来はメールは送信されるものなのでしょうか?

    申し訳ありませんが、上記の挙動確認のため、ディスクキャッシュされるか、その場合メールが送信されるか、ご確認頂けないでしょうか。お忙しいところ恐縮ですがよろしくお願いいたします。

    以下、私の環境で発生した、メールが送信されない不具合の発生機序を示します
    (キャッシュの取り扱いの検証のため、メール認証を経由する場合も、同一端末、同一ブラウザで操作します。)

    1.マイページから 会員情報編集へ>> をクリック
      → メールが送信されるのを確認する(この時点で不具合は発生していない)

    2.FFWにて、ユーザビリティ設定 > 「戻る」によるドキュメント有効切れ防止 → 利用する に変更する → 設定を保存

    3.会員認証 (認証メールを送信しました) の画面でブラウザをスーパーリロード(キャッシュを作る) → 再び本人確認メールが送られる

    4.会員をログアウトする

    5.ログイン画面からログインする

    6.マイページから 会員情報編集へ>> をクリック
      このとき https://〇〇〇.com/usces-member/?usces_page=member_edit のレスポンスヘッダーが cache-control:private なのでディスクキャッシュから読み込まれる → メールは送信されない(不具合発生)

     ここで 4.5.6.を何度繰り返しても、本人確認メールが送られることはありません。(不具合の継続確認)

    7.6でブラウザをリロードする
     このとき https://〇〇〇.com/usces-member/?usces_page=member_edit が強制的にサーバーから読み込まれる → メールが送信される

    試しに、580行目をコメントアウトしますと、メールは送られます。

    #102630
    mainichi_web
    モデレーター

    Alicia 様

    諸々のご検証ありがとうございます。
    また、当プラグインにより、多くの時間をおかけしてしまい大変申し訳ございません。

    ご記述の発生機序を基に何度か試してみたのですが、
    本人確認メールが届かないケースを再現できずにおります。
    私の環境下ではディスクキャッシュもされていないような状況でした。

    ただ、特定の条件下でメールが届かないことは事実かと思いますので
    (キャッシュによってサーバー側のリクエストがトリガーされない)
    近日中にこの機能自体を削除したバージョンをリリースさせていただきます。

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

    #102631
    Alicia
    参加者

    毎日ウェブ 様

    こちらこそ、お手数をお掛けして申し訳ありません。
    そうですか、再現しませんでしたか。力及ばすで申し訳ありません。
    何か、まだ隠れた条件があるのだと思います。私の環境がマイノリティということも考えられますので、その場合、この機能を重宝されている方(私もその一人です)に大変心苦しいことにもなりかねないため、機能の削除はされなくても良いのではないでしょうか。

    発生条件を正しく解析できればいいのですが、なにぶん素人なので要領を得ません。もう少し粘ってみます。

    #102632
    mainichi_web
    モデレーター

    Alicia 様

    いえいえ、こちらで気づけない不具合を見つけていただいて感謝しております。
    これ以上、Alicia 様 のお時間をお使いいただくのは恐縮ですので
    安全をとって、一旦機能を削除し、私の方で今後 原因究明ができましたら、再度実装し直したいと思います。
    (運営者さんも、この機能で不具合が起きていても気づきづらそうなので)

    お恥ずかしながら、今回のご報告のおかげで

    header("Pragma: no-cahce");

    の「cache」の部分のタイプミスも発見いたしました。

    普段からフォーラムは拝見しておりますが
    Alicia 様は素人ではないように思えます 笑

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

    #102634
    Alicia
    参加者

    毎日ウェブ 様

    ご丁寧にご連絡ありがとうございます。
    この度はお時間を取ってしまい誠に申し訳ありません。

    安全策ということで納得いたしました。
    もし私の方で何か分かったことがあれば、またご報告させていただきます。

    それから、私は正真正銘のど素人ですので、フォーラムで間違ったことも臆することなく発信してしまっていると思います。お気づきの点がございましたら遠慮なくご指摘いただけますと幸いです。
    今後ともよろしくお願いいたします。

    #102642
    mainichi_web
    モデレーター

    Alicia 様

    ご連絡ありがとうございます。

    該当機能を削除した ver 1.2.4 をリリースさせていただきました。
    (今後、例えばカートページなど特定のページに限定して機能する仕様 等 も検討しつつ、戻せそうであれば戻したいと思います)

    この度は、機能の不具合のご発見・ご報告ありがとうございました。
    今後とも宜しくお願いいたします。

    #102645
    Alicia
    参加者

    毎日ウェブ 様

    新しいバージョンを確認いたしました。この度は、迅速にご対応頂きまして誠にありがとうございました。
    また、新たな形での機能復活など、これからも益々のご発展を期待しております。

    ikeda 様
    yasumax 様

    お世話になりました。トピックタイトルの最大長の修正も含め、ありがとうございました。
    本件、解決済みとしてください。よろしくお願いいたします。

11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • このトピックに返信するにはログインが必要です。