■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

お問い合わせが携帯メールでは送信先が管理者メールになる

sam > お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/6 15:46
こんにちは!お世話になっています。現在CMS DESIGNを使わせて頂いています。お問い合わせフォームにユーザーがパソコンアドレスを入れて送信者が送信すると。普通に自動返信で見れるのですが。(サイトのアドレスが送信者。)パソコンのメールの詳細をみても管理者アドレスはありません。

しかし携帯アドレスを入れて送信すると、別の管理者アドレスが送信者となってユーザーに送信されてしまうのです。
 どこかを修正すればいいと思うのですがよろしくお願いします。

スマホやモバイル対応にはチェックは入っていません。
普通にパソコンで送信してアドレスだけ携帯を記入。。その時の自動返信メールの送り主が管理者ではなくサイトオーナーのアドレスから送信して欲しいのです。
MailController.phpのどの辺を変更すればいいですか?よろしくお願いします

		}

		// ユーザーに送信
		if (!empty($userMail)) {
			$data['other']['mode'] = 'user';
			$options = array(
				'fromName' => $mailContent['sender_name'],
				'reply' => $userMail,
				'template' => 'Mail.' . $mailContent['mail_template'],
				'reply' => $userMail,
			);
			$this->sendMail($userMail, $mailContent['subject_user'], $data, $options);
		}

		// 管理者に送信
		if (!empty($adminMail)) {
			$data['other']['mode'] = 'admin';
			$options = array(
				'fromName' => $mailContent['sender_name'],

■ BaserCMSのバージョン:3.0.15
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [ON ]
■ 設置フォルダ: [ドキュメントルート / メインフォルダ]
■ 利用しているデータベ

n1215 > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/9 13:34
sam 様

用語と状況の整理から始めてもよろしいでしょうか?

●登場人物
引用:
ユーザーがパソコンアドレスを入れて送信者が送信すると

ユーザーと送信者は同一人物ですか?
それともWeb製作者、クライント、サイト利用者の三者が絡む状況ですか?

●メールアドレス
管理者アドレス:サイト基本設定の「管理者メールアドレス」
サイトオーナーアドレス:メールフォーム個別で設定できる「送信先メールアドレス」
という解釈で正しいでしょうか?

●ソースコードの状態
baserCMSの元のコードをそのままお使いですか?
それとも何らかの修正を加えた状態でしょうか?

ユーザーに送るメールの送信元(from)が管理者アドレスになるのがメールプラグインの仕様だったかと思うのですが。
また、メールフォームに入力されたメールアドレスによって
送信するメールの設定を切り替える処理はないと思います。
もしかするとPCと携帯のメーラーのFrom、Sender、Reply-ToやRetrun-Pathなどの解釈の違いも絡んでいるのではないかと。

Twitter: @n_1215

sam > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/10 17:33
n1215様
こんにちはご返答ありがとうございます。
わかりにくくてごめんなさい
管理者をsamとします。メールアドレスは[email protected]
サイトを http://abc.com/ とします。 このアドレスは [email protected]とします
baserCMSのシステム設定のメール関連設定ではそのまま使っています。

一般の訪問者がgメールで( ×××@gmail.com)
訪問して問い合わせをする。すると 
From: ×××お問い合わせ <×××@gmail.com>
返信先: ×××@gmail.com
To: [email protected]
日付: 2014年11月10日 16:11
件名: お問い合わせを受け付けました

と出るのに

携帯メール willcomメール やドコモメール も
from や
 Reply に 
[email protected] と表示されるのです(パソコンから投稿して)

From: ×××お問い合わせ <[email protected]>
返信先: [email protected]
To: [email protected]
日付: 2014年11月10日 16:11
件名: お問い合わせを受け付けました

本来は[email protected]となってほしいのです。(サイトのアドレス)

ここに書き込みしてから心配なのは僕がこの[email protected]
メールを受信して。ヘテムルサーバーでそれを abcさんのgメールや 管理者のメールアドレスに転送している.それが原因かもしれないんですが。

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

■ BaserCMSのバージョン:3.0.15
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [ON ]
■ 設置フォルダ: [ドキュメントルート / メインフォルダ]
■ 利用しているデータベ

n1215 > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/10 19:27
sam 様

まずはbaserCMSのメールアドレスに関連する各項目にどのアドレスが設定されているのか正確に教えてください。


1.システム基本設定の管理者メールアドレス
こちらは[email protected]になっているのでしょうか?
それとも[email protected]になっていますか?


2.システム基本設定のメール設定関連 SMTP設定
引用:
baserCMSのシステム設定のメール関連設定ではそのまま使っています。

これはどういう意味ですか?
初期設定のまま、SMTP設定は空欄にしてあるということですか?
それともこちらに[email protected]のSMTPサーバの情報を設定してあるのでしょうか?


3.メールフォーム設定 送信先メールアドレス
各メールフォームにも送信先メールアドレスを設定できる項目がありますね。
こちらはどうなっていますか?


また、baserCMSのソースに手を入れたり、app/以下にコアのControllerなどのファイルをコピーして動作を上書きしていたり
ということがないかどうかも教えてください。

Twitter: @n_1215

sam > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/12 21:21
n1215 様

お世話かけます。ありがとうございます


1.システム基本設定の管理者メールアドレス
こちらは[email protected]になっているのでしょうか?
それとも[email protected]になっていますか?
●管理者は[email protected]になっています。

2.システム基本設定のメール設定関連 SMTP設定
引用:
baserCMSのシステム設定のメール関連設定ではそのまま使っています。

これはどういう意味ですか?

●これは間違いです。
[email protected]のSMTPサーバの情報を設定

3.メールフォーム設定 送信先メールアドレス
各メールフォームにも送信先メールアドレスを設定できる項目がありますね。

●別のメールアドレスに送信するに「チェックを入れています。別のメールアドレスは[email protected]です。

また、baserCMSのソースに手を入れたり、app/以下にコアのControllerなどのファイルをコピーして動作を上書きしていたり
ということがないかどうかも教えてください。

●MailController.phpのあたりの管理者に送信のところは少し変更しました
この掲示板で相談して、届いたお問い合わせメールがそのまま返信出来るようにです。
これだけです
// 管理者に送信
		if (!empty($adminMail)) {
			$data['other']['mode'] = 'admin';
			$options = array(
				'fromName' => $mailContent['sender_name'],
				'reply' => $userMail,
				'from' => $userMail,
				'template' => 'Mail.' . $mailContent['mail_template'],
				'bcc' => $mailContent['sender_2'],
				'agentTemplate' => false
			);
			$this->sendMail($adminMail, $mailContent['subject_admin'], $data, $options);
		}


まことにお手数ですよろしくおねがいします

■ BaserCMSのバージョン:3.0.15
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [ON ]
■ 設置フォルダ: [ドキュメントルート / メインフォルダ]
■ 利用しているデータベ

n1215 > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/12 22:49
sam 様

情報有り難うございます。
これで完全にプログラムの流れが追えます。

もしかして[email protected]はGoogle Appsで運用されていたりしますかね?

非Gmailかつ非Google Appsなメールアドレスを入力してお問い合わせフォームを送信した場合はどうなりますか?
携帯メールと同じ症状になるのではないでしょうか?

Twitter: @n_1215

sam > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/14 10:16
n1215 様

情報有り難うございます。
これで完全にプログラムの流れが追えます。

もしかして[email protected]はGoogle Appsで運用されていたりしますかね?

●いいえ!!使っていません!

非Gmailかつ非Google Appsなメールアドレスを入力してお問い合わせフォームを送信した場合はどうなりますか?
携帯メールと同じ症状になるのではないでしょうか?


●同じです。どんなメールアドレスでも

●間違っていました。僕は携帯のアドレスが管理者になると書き込んでいましたが。。yahooメールでテストしても管理者アドレスになります。携帯アドレスは受信したときに見えやすいのでそう書き込みました。
yahooメールでも、受信トレイのお問い合わせを押すと○○○お問い合わせとなって、そこには管理者アドレスが入ってしまうのです。

●最初のシステム設定の管理者アドレスを[email protected] にした場合はうまく成功します。管理者アドレスを[email protected]のまま使いたかったのです。

誠にお世話かけっぱなしで申し訳有りません!よろしくお願いします

■ BaserCMSのバージョン:3.0.15
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [ON ]
■ 設置フォルダ: [ドキュメントルート / メインフォルダ]
■ 利用しているデータベ

n1215 > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/16 0:16
sam 様

メールプラグインによって自動送信されるメールは
 ・ユーザ向け(宛先:フォームに入力されたメールアドレス)
 ・サイト管理者向け(宛先:メールフォーム個別設定の送信先メールアドレス ※設定がなければ管理者メールアドレス)
の2種類がありますね。

今回のご質問は後者のみに閑するものであるとの認識でよろしいでしょうか?
それとも両方でしょうか? 両方が入り交じっている場合、症状をごっちゃにすると状況が正しく認識できません。
一度現状と目標を整理していただきたいと思います。


●現状
1.×××@gmail.comをメールフォームのメールアドレス欄に入力してメールフォームを送信した場合
[email protected]に届くサイト管理者向けのメールのReply-ToおよびFromが×××@gmail.comになる

2.その他のメールアドレスを入力して送信した場合(携帯メール・Yahooメールなど)
同メールのReply-ToおよびFromが[email protected]になる

どちらかというと×××@gmail.comのほうが特異であるといえますね
また、[email protected]に届くメールを転送設定をされているとのことですが、症状の確認はもちろん転送先ではなく[email protected]のメールアカウント自体で行っていらっしゃいますよね?


●目標
・[email protected]に届くサイト管理者向けメールのFromを[email protected]、Reply-Toをユーザーが入力したメールアドレスにする
・ユーザー向けのメールについては何かありますか?

Twitter: @n_1215

sam > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/17 22:47
n1215 様

ありがとうございます。


メールプラグインによって自動送信されるメールは
 ・ユーザ向け(宛先:フォームに入力されたメールアドレス)
 ・サイト管理者向け(宛先:メールフォーム個別設定の送信先メールアドレス ※設定がなければ管理者メールアドレス)
の2種類がありますね。
●サイト管理者は問題ないんです。
ユーザー向けメールのみが困っているんです。



●目標は
1.×××@gmail.comをメールフォームのメールアドレス欄に入力してメールフォームを送信した場合
×××@gmail.com に届く自動返信メールがReply-ToおよびFrom [email protected]になる

2.その他のメールアドレスを入力して送信した場合(携帯メール・Yahooメールなど)
同メールのReply-ToおよびFromが[email protected]になる

一般訪問者がメールフォームで投稿すると、携帯メール。。yahooメール gmail すべてが自動返信が サイト管理者の[email protected] に鳴るんです。

一般訪問者はサイト管理者のメールアドレスは知らないハズなのにそこから返信されて困っているんです。
わかりにくくてすみません!よろしくお願いします



■ BaserCMSのバージョン:3.0.15
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [ON ]
■ 設置フォルダ: [ドキュメントルート / メインフォルダ]
■ 利用しているデータベ

n1215 > Re: お問い合わせが携帯メールでは送信先が管理者メールになる @ 2014/11/17 23:57
sam 様

勘違いしていたようですね。すみません。

関連する不具合が見つかったのですが、一応3.0.2でも簡易的に修正はできそうです。
https://github.com/baserproject/basercms/blob/basercms-3.0.2/lib/Baser/Plugin/Mail/Controller/MailController.php#L523-L533
		// ユーザーに送信
		if (!empty($userMail)) {
			$data['other']['mode'] = 'user';
			$options = array(
				'fromName' => $mailContent['sender_name'],
				'reply' => $fromAdmin,
				'template' => 'Mail.' . $mailContent['mail_template'],
				'reply' => $fromAdmin,
			);
			$this->sendMail($userMail, $mailContent['subject_user'], $data, $options);
		}

この部分を下記のように修正してください。

		// ユーザーに送信
		if (!empty($userMail)) {
			$data['other']['mode'] = 'user';
			$options = array(
				'fromName' => $mailContent['sender_name'],
				'from' => $fromAdmin,
				'template' => 'Mail.' . $mailContent['mail_template'],
				'reply' => $fromAdmin,
			);
			$this->sendMail($userMail, $mailContent['subject_user'], $data, $options);
		}


baserCMSコアを調べたところ、Reply-To設定用のはずのキー'reply'が無効になっていたことがわかりました。
Reply-Toには強制的に'from'の値が利用されます。
しかもユーザー向けメールのオプションには'reply'が重複しており'from'が設定されていないため、デフォルトの管理者アドレスが使われてしまう、ということのようです。

Fromを管理者アドレス以外に設定できないのは仕様かと思っていたのですがミスだったんですね。

チケットを切って修正のプルリクエストを送りました。
http://project.e-catchup.jp/issues/7304
https://github.com/n1215/basercms/commit/f64326ba52fc53e31ad0d78dea00aeac3f3543b0
既にマージされたので次のバージョンでMailControllerからReply-Toも個別に指定できるようになります。

Twitter: @n_1215

フォーラムガイド


関連リンク