スポンサードリンク

EC CUBE ロゴ
EC CUBE ロゴ

お問い合わせから来たメールで

メールが埋もれてしまい

探すのに苦労すると言われたので

件名に問い合わせした方の名前を入れるようにカスタマイズしました。

お問い合わせメール
お問い合わせメール

スポンサードリンク

お問い合わせメールに差出人を入れる方法

【/data/class/helper/SC_Helper_Mail.php】を修正

まず、【sfSendTemplateMailメソッド】をコピーして【sfContactSendTemplateMailメソッド】を作成します。

【sfSendTemplateMailメソッド】の下に以下のメソッドを記述

    /* お問い合わせ用(追加)
     * DBに登録されたテンプレートメールの送信 */
    function sfContactSendTemplateMail($to, $to_name, $template_id, &$objPage, $from_address = "", $from_name = "", $reply_to = "", $name = "", $bcc = '') {

    	$objQuery = new SC_Query_Ex();
    	// メールテンプレート情報の取得
    	$where = "template_id = ?";
    	$arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($template_id));
    	$objPage->tpl_header = $arrRet[0]['header'];
    	$objPage->tpl_footer = $arrRet[0]['footer'];
    	$tmp_subject = $arrRet[0]['subject'];

    	$arrInfo = SC_Helper_DB_Ex::sfGetBasisData();

    	$objMailView = new SC_SiteView_Ex();
    	// メール本文の取得
    	$objMailView->assignobj($objPage);
    	$body = $objMailView->fetch($this->arrMAILTPLPATH[$template_id]);

    	// メール送信処理
    	$objSendMail = new SC_SendMail_Ex();
    	if ($from_address == "") $from_address = $arrInfo['email03'];
    	if ($from_name == "") $from_name = $arrInfo['shop_name'];
    	if ($reply_to == "") $reply_to = $arrInfo['email03'];
    	$error = $arrInfo['email04'];
    	$tosubject = $name . "様より" . $this->sfMakeSubject($tmp_subject, $objMailView);

    	$objSendMail->setItem('', $tosubject, $body, $from_address, $from_name, $reply_to, $error, $error, $bcc);
    	$objSendMail->setTo($to, $to_name);
    	$objSendMail->sendMail();    // メール送信
    }

【/data/class/pages/contact/LC_Page_Contact.php】を修正

一番下のlfSendMailメソッドを修正

    /**
     * メールの送信を行う。
     *
     * @return void
     */
    function lfSendMail(&$objPage){
        $CONF = SC_Helper_DB_Ex::sfGetBasisData();
        $objPage->tpl_shopname = $CONF['shop_name'];
        $objPage->tpl_infoemail = $CONF['email02'];
        $fromMail_name = $objPage->arrForm['name01']['value'] ." 様";
        $fromMail_address = $objPage->arrForm['email']['value'];
        $helperMail = new SC_Helper_Mail_Ex();
        $helperMail->sfSendTemplateMail(
            $objPage->arrForm['email']['value'],            // to
            $objPage->arrForm['name01']['value'] .' 様',    // to_name
            5,                                              // template_id
            $objPage,                                       // objPage
            $CONF['email03'],                               // from_address
            $CONF['shop_name'],                             // from_name
            $CONF['email02'],                               // reply_to
            $objPage->arrForm['name01']['value'] ." ". $objPage->arrForm['name02']['value'] //問い合わせ者の名前
            $CONF['email02']                                // bcc
        );
    }

解説

あとは実際にお問い合わせから入力してみて

名前が件名に入っているか確認してください。

【SC_Helper_Mail.php】の【sfSendTemplateMailメソッド】自体を書き換えようとしましたが、

他のメール送信に影響があるかもしてないので

新しく【sfContactSendTemplateMailメソッド】を作成しました。

フォームから入力された値を引数に入れて

ただDBから拾ってくる件名にくっつけているだけです。

そんなに難しくなくカスタマイズしました。

スポンサードリンク