Re: 自動返信メールの実現

2017年9月19日 at 14:45

KMiura 様

早速のご返信有難う御座います。
>「送信されたフォームをメールアドレスに送る」のチェック
はい、確かにチェックを入れております。

また、ご案内頂いた変更を行いましたが反映されず、探ってみると\application\blocks\form内のcontroller.phpを読んでおらず、\concrete\blocks\form内のcontroller.phpを読み込んで処理が行われている様子で、こちらを変更すると動作が変わりました。
ご案内頂いた内容を参考に、以下のように変更することで、管理側に届いていたメールがフォーム入力者側に届くようになり、管理側には届かなくなるのを確認できました。

\concrete\blocks\form\controller.php


if (intval($this->notifyMeOnSubmission) > 0 && !$foundSpam) {
if (Config::get('concrete.email.form_block.address') && strstr(Config::get('concrete.email.form_block.address'), '@')) {
$formFormEmailAddress = Config::get('concrete.email.form_block.address');
} else {
$adminUserInfo = UserInfo::getByID(USER_SUPER_ID);
$formFormEmailAddress = $adminUserInfo->getUserEmail();
}

$mh = Core::make('helper/mail');
//$mh->to($this->recipientEmail); //元ソースはこうでした
$mh->to($replyToEmailAddress); //このように変更しました
$mh->from($formFormEmailAddress);
$mh->replyto($replyToEmailAddress);
$mh->addParameter('formName', $this->surveyName);
$mh->addParameter('questionSetId', $this->questionSetId);
$mh->addParameter('questionAnswerPairs', $questionAnswerPairs);
$mh->load('block_form_submission');
$mh->setSubject(t('%s Form Submission', $this->surveyName));
//echo $mh->body.'<br>';
@$mh->sendMail();
}


application側を読み込んでいない原因が解れば解決しそうなのですが…何か設定が必要なのでしょうか。度々申し訳ございませんがお知恵をお貸し願えれば幸いです。