プロジェクト

全般

プロフィール

Bug(バグ) #1576

完了

メールアドレス認証で招待無し登録時の通知メールで本文が英語になっている

Hidenori Goto さんが約14年前に追加. 約14年前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-09-10
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
Yes
[QA]バグ通知済:
3.8 で発生するか:

説明

現象

招待無しでメールアドレス認証により会員登録できるようにした場合に、メールアドレスとCAPTCHAを入力する画面で入力完了後、OpenPNEから送信されてくる本登録用URLが記載されたメールの本文部分が英語になっている。

署名部分のみ日本語になっている。

回避方法

メールの内容を日本語に限定するのであれば、以下のファイルの内容を直接日本語に書き換えることで暫定対処可能。

  • (project)/plugins/opAuthMailAddressPlugin/templates/mail/mobile/_notifyRegisterURL.php
  • (project)/plugins/opAuthMailAddressPlugin/templates/mail/pc/_notifyRegisterURL.php

期待する動作

  1. 日本語インターフェイスでフォームを送信したユーザーには、すべて日本語で表記されたメールが届く。

再現したサーバー環境

  • Windows 7 64bit + XAMPPの環境
  • Ubuntu 10.04上のApache環境

再現するOpenPNEのバージョン

  • OpenPNE 3.6 beta4

原因の推察

  • このメールテンプレートの英語文章に対するi18n翻訳ファイルがない?
  • 会員からの招待メール送信など、現状のコアの処理とは別のロジックが使われている(ようだ)

関連するチケット 1 (0件未完了1件完了)

関連している OpenPNE 3 - Backport(バックポート) #1613: メールアドレス認証で招待無し登録時の通知メールで本文が英語になっているInvalid(無効)2010-09-10

操作

Kousuke Ebihara さんが約14年前に更新

  • 3.6 で発生するかYes にセット

Kousuke Ebihara さんが約14年前に更新

  • 優先度Normal(通常) から High(高め) に変更
  • 対象バージョンOpenPNE 3.6beta6 にセット

Kousuke Ebihara さんが約14年前に更新

  • 対象バージョンOpenPNE 3.6beta6 から OpenPNE 3.7.0 に変更

Kousuke Ebihara さんが約14年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Kousuke Ebihara にセット

調査します

Hidenori Goto さんが約14年前に更新

間違ってバックポートの方へコメントしてしまっていたので、こちらへコメントし直します。

コアの招待メール関連機能に合わせるために、opAuthMailAddressPluginのlib/form/opRequestRegisterURLForm.class.phpの以下の部分を修正するのがよいかと思われます。

134行目

opMailSend::sendTemplateMail('notifyRegisterURL', $address, opConfig::get('admin_mail_address'), $params);
↓
opMailSend::sendTemplateMail('requestRegisterURL', $address, opConfig::get('admin_mail_address'), $params);

この修正により、opAuthMailAddressPluginで保持しているテンプレートではなく、コア側で保持している招待メールのテンプレートを利用するようになります。

また、以下のチケットも関連して修正する必要があると思われます。

http://redmine.openpne.jp/issues/1617

Kousuke Ebihara さんが約14年前に更新

opAuthMailAddressPlugin で http://github.com/ebihara/opAuthMailAddressPlugin/commit/34d1a6fa643fec419be74174420b2d7402402548 の変更をした際に、翻訳ファイルを更新していなかったのが原因のようです。

opAuthMailAddressPlugin のバグとして扱います。引き続き優先度は高めで対応します。

Kousuke Ebihara さんが約14年前に更新

  • プロジェクトOpenPNE 3 から opAuthMailAddressPlugin に変更
  • 対象バージョン を削除 (OpenPNE 3.7.0)

Hidenori Goto さんが約14年前に更新

こちらの問題の対処方法についてですが、「コアのテンプレートを利用する」という修正方法を #5 にて提案させて頂いていますが、それとは別途、「メールテンプレートをPHPテンプレートではなく、YAMLテンプレートに変更する」ということも合わせて提案させて頂きます。(そうした上で英語にも対応する)
YAMLテンプレートにしておけば、管理画面のメールテンプレート編集の一覧に表示され、管理者がこのテンプレートをカスタマイズできるようになると思います。

Kousuke Ebihara さんが約14年前に更新

Hidenori Goto は書きました:

こちらの問題の対処方法についてですが、「コアのテンプレートを利用する」という修正方法を #5 にて提案させて頂いていますが、それとは別途、「メールテンプレートをPHPテンプレートではなく、YAMLテンプレートに変更する」ということも合わせて提案させて頂きます。(そうした上で英語にも対応する)
YAMLテンプレートにしておけば、管理画面のメールテンプレート編集の一覧に表示され、管理者がこのテンプレートをカスタマイズできるようになると思います。

  • コアのテンプレートを利用するという対応はおこなわないことにします。なぜなら、コアのテンプレートで案内される member/register はあくまで招待専用の URL であり、直接登録用の URL に遷移させる opAuthMailAddresPlugin で利用するには好ましいものではないからです。となれば、招待用のメールの機能を柔軟にして、 opAuthMailAddressPlugin 側でメールテンプレートを用意しなくても済むような変更を加えるということになると思いますが、そうなってくるとこのチケットで扱うべき範囲を超えてしまいます。今回のバグは、あくまで http://github.com/ebihara/opAuthMailAddressPlugin/commit/34d1a6fa643fec419be74174420b2d7402402548 にてコアの招待機能と opAuthMailAddressPlugin の新規登録機能を分離した際に翻訳ファイルの更新が漏れていたというのが原因ですので、その対処のみにとどめることにします。
  • 提案されている YAML の設定ファイルに記述する方式に変更するのが正しいアプローチですが、これも、このチケットで扱うべき範囲を超えてしまうと考えています。このチケットではおこなうのはあくまでもバグ修正のみとし、リスクの大きい変更は避けたいです。といっても、当然、 YAML の設定ファイルに記述する方式への変更は、次のバージョンでおこなうべきです。

Kousuke Ebihara さんが約14年前に更新

  • ステータスAccepted(着手) から Fixed(完了) に変更
  • 対象バージョン1.3.2 にセット
  • 進捗率0 から 100 に変更

Hidenori Goto さんが約14年前に更新

本チケットでの対応方法について理解しました。
本体での対応等、別途ご検討ください。

また、http://github.com/ebihara/opAuthMailAddressPlugin/commit/2cb9586ef6a3f0ff2de786cf6e067670d341b4ca を直接手元(3.7.0-dev)のファイルに適用したところ、問題が修正されることも確認しました。

他の形式にエクスポート: Atom PDF