Beispiel #1
0
 /**
  * 正会員登録完了メール送信
  *
  * @param string $registSecretKey
  * @access private
  * @return void
  */
 public function lfSendRegistMail($registSecretKey)
 {
     $objQuery = SC_Query_Ex::getSingletonInstance();
     $objCustomer = new SC_Customer_Ex();
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     //-- 会員データを取得
     $arrCustomer = $objQuery->select('*', 'dtb_customer', 'secret_key = ?', array($registSecretKey));
     $data = $arrCustomer[0];
     $objCustomer->setLogin($data['email']);
     //-- メール送信
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $data['name01']);
     $objMailText->assign('name02', $data['name02']);
     $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     $subject = $objHelperMail->sfMakesubject('会員登録が完了しました。');
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     // 宛先の設定
     $name = $data['name01'] . $data['name02'] . ' 様';
     $objMail->setTo($data['email'], $name);
     $objMail->sendMail();
 }
 /**
  * パスワード変更お知らせメールを送信する.
  *
  * @param array $CONF 店舗基本情報の配列
  * @param string $email 送信先メールアドレス
  * @param string $customer_name 送信先氏名
  * @param string $new_password 変更後の新パスワード
  * @return void
  *
  * FIXME: メールテンプレート編集の方に足すのが望ましい
  */
 function lfSendMail(&$CONF, $email, $customer_name, $new_password)
 {
     // パスワード変更お知らせメール送信
     $objMailText = new SC_SiteView_Ex(false);
     $objMailText->setPage($this);
     $objMailText->assign('customer_name', $customer_name);
     $objMailText->assign('new_password', $new_password);
     $toCustomerMail = $objMailText->fetch('mail_templates/forgot_mail.tpl');
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // メール送信オブジェクトによる送信処理
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $objHelperMail->sfMakeSubject('パスワードを変更いたしました。'), $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     $objMail->setTo($email, $customer_name . ' 様');
     $objMail->sendMail();
     return;
 }
Beispiel #3
0
 /**
  * 指定したIDのメルマガ配送を行う
  *
  * @param integer $send_id dtb_send_history の情報
  * @return void
  */
 function sfSendMailmagazine($send_id)
 {
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $objDb = new SC_Helper_DB_Ex();
     $objSite = $objDb->sfGetBasisData();
     $objMail = new SC_SendMail_Ex();
     $where = 'del_flg = 0 AND send_id = ?';
     $arrMail = $objQuery->getRow('*', 'dtb_send_history', $where, array($send_id));
     // 対象となる$send_idが見つからない
     if (SC_Utils_Ex::isBlank($arrMail)) {
         return;
     }
     // 送信先リストの取得
     $arrDestinationList = $objQuery->select('*', 'dtb_send_customer', 'send_id = ? AND (send_flag = 2 OR send_flag IS NULL)', array($send_id));
     // 現在の配信数
     $complete_count = $arrMail['complete_count'];
     if (SC_Utils_Ex::isBlank($arrMail)) {
         $complete_count = 0;
     }
     foreach ($arrDestinationList as $arrDestination) {
         // お名前の変換
         $customerName = trim($arrDestination['name']);
         $subjectBody = preg_replace("/{name}/", $customerName, $arrMail['subject']);
         $mailBody = preg_replace("/{name}/", $customerName, $arrMail['body']);
         $objMail->setItem($arrDestination['email'], $subjectBody, $mailBody, $objSite["email03"], $objSite["shop_name"], $objSite["email03"], $objSite["email04"], $objSite["email04"]);
         // テキストメール配信の場合
         if ($arrMail["mail_method"] == 2) {
             $sendResut = $objMail->sendMail();
             // HTMLメール配信の場合
         } else {
             $sendResut = $objMail->sendHtmlMail();
         }
         // 送信完了なら1、失敗なら2をメール送信結果フラグとしてDBに挿入
         if (!$sendResut) {
             $sendFlag = '2';
         } else {
             // 完了を 1 増やす
             $sendFlag = '1';
             $complete_count++;
         }
         // 送信結果情報を更新
         $objQuery->update('dtb_send_customer', array('send_flag' => $sendFlag), 'send_id = ? AND customer_id = ?', array($send_id, $arrDestination["customer_id"]));
     }
     // メール全件送信完了後の処理
     $objQuery->update('dtb_send_history', array('end_date' => 'CURRENT_TIMESTAMP', 'complete_count' => $complete_count), 'send_id = ?', array($send_id));
     // 送信完了 報告メール
     $compSubject = date("Y年m月d日H時i分") . "  下記メールの配信が完了しました。";
     // 管理者宛に変更
     $objMail->setTo($objSite["email03"]);
     $objMail->setSubject($compSubject);
     // テキストメール配信の場合
     if ($arrMail["mail_method"] == 2) {
         $sendResut = $objMail->sendMail();
         // HTMLメール配信の場合
     } else {
         $sendResut = $objMail->sendHtmlMail();
     }
     return;
 }
 /**
  * 会員登録完了メール送信する
  *
  * @access private
  * @return void
  */
 public function lfSendMail($uniqid, $arrForm)
 {
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrForm['name01']);
     $objMailText->assign('name02', $arrForm['name02']);
     $objMailText->assign('uniqid', $uniqid);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true) {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご確認');
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_mail.tpl');
     } else {
         $subject = $objHelperMail->sfMakeSubject('会員登録のご完了');
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     }
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     // 宛先の設定
     $objMail->setTo($arrForm['email'], $arrForm['name01'] . $arrForm['name02'] . ' 様');
     $objMail->sendMail();
 }
Beispiel #5
0
 function sfSendOrderMail($order_id, $template_id, $subject = "", $header = "", $footer = "", $send = true)
 {
     $objPage = new LC_Page();
     $objSiteInfo = new SC_SiteInfo();
     $arrInfo = $objSiteInfo->data;
     $objPage->arrInfo = $arrInfo;
     $objQuery = new SC_Query();
     if ($subject == "" && $header == "" && $footer == "") {
         // メールテンプレート情報の取得
         $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'];
     } else {
         $objPage->tpl_header = $header;
         $objPage->tpl_footer = $footer;
         $tmp_subject = $subject;
     }
     // 受注情報の取得
     $where = "order_id = ?";
     $arrRet = $objQuery->select("*", "dtb_order", $where, array($order_id));
     $arrOrder = $arrRet[0];
     $arrOrderDetail = $objQuery->select("*", "dtb_order_detail", $where, array($order_id));
     $objPage->Message_tmp = $arrOrder['message'];
     // 顧客情報の取得
     $customer_id = $arrOrder['customer_id'];
     $arrRet = $objQuery->select("point", "dtb_customer", "customer_id = ?", array($customer_id));
     $arrCustomer = isset($arrRet[0]) ? $arrRet[0] : "";
     $objPage->arrCustomer = $arrCustomer;
     $objPage->arrOrder = $arrOrder;
     //その他決済情報
     if ($arrOrder['memo02'] != "") {
         $arrOther = unserialize($arrOrder['memo02']);
         foreach ($arrOther as $other_key => $other_val) {
             if (SC_Utils_Ex::sfTrim($other_val["value"]) == "") {
                 $arrOther[$other_key]["value"] = "";
             }
         }
         $objPage->arrOther = $arrOther;
     }
     // 都道府県変換
     $objPage->arrOrder['deliv_pref'] = $this->arrPref[$objPage->arrOrder['deliv_pref']];
     $objPage->arrOrderDetail = $arrOrderDetail;
     $objCustomer = new SC_Customer();
     $objPage->tpl_user_point = $objCustomer->getValue('point');
     $objMailView = new SC_SiteView();
     // メール本文の取得
     $objMailView->assignobj($objPage);
     $body = $objMailView->fetch($this->arrMAILTPLPATH[$template_id]);
     // メール送信処理
     $objSendMail = new SC_SendMail_Ex();
     $bcc = $arrInfo['email01'];
     $from = $arrInfo['email03'];
     $error = $arrInfo['email04'];
     $tosubject = $this->sfMakeSubject($objQuery, $objMailView, $objPage, $tmp_subject);
     $objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc);
     $objSendMail->setTo($arrOrder["order_email"], $arrOrder["order_name01"] . " " . $arrOrder["order_name02"] . " 様");
     // 送信フラグ:trueの場合は、送信する。
     if ($send) {
         if ($objSendMail->sendMail()) {
             $this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
         }
     }
     return $objSendMail;
 }
 /**
  * 会員登録完了メール送信する
  *
  * @access private
  * @return void
  */
 function lfSendMail($uniqid, $arrForm)
 {
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrForm['name01']);
     $objMailText->assign('name02', $arrForm['name02']);
     $objMailText->assign('uniqid', $uniqid);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // 仮会員が有効の場合
     if (CUSTOMER_CONFIRM_MAIL == true) {
         $subject = $objHelperMail->sfMakeSubject(t('c_Confirmation of member registration_02'));
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_mail.tpl');
     } else {
         $subject = $objHelperMail->sfMakeSubject(t('c_Completion of member registration_02'));
         $toCustomerMail = $objMailText->fetch('mail_templates/customer_regist_mail.tpl');
     }
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     // 宛先の設定
     $objMail->setTo($arrForm['email'], t('f_NAME_FULL_SIR_01', array('T_ARG1' => $arrForm['name01'], 'T_ARG2' => $arrForm['name02'])));
     $objMail->sendMail();
 }
 /**
  * 退会手続き完了メール送信する
  *
  * @access private
  * @param integer $customer_id 会員ID
  * @return void
  */
 public function lfSendRefusalMail($customer_id)
 {
     // 会員データの取得
     if (SC_Utils_Ex::sfIsInt($customer_id)) {
         $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
     }
     if (SC_Utils_Ex::isBlank($arrCustomerData)) {
         return false;
     }
     $CONF = SC_Helper_DB_Ex::sfGetBasisData();
     $objMailText = new SC_SiteView_Ex();
     $objMailText->setPage($this);
     $objMailText->assign('CONF', $CONF);
     $objMailText->assign('name01', $arrCustomerData['name01']);
     $objMailText->assign('name02', $arrCustomerData['name02']);
     $objMailText->assignobj($this);
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     $subject = $objHelperMail->sfMakeSubject('退会手続きのご完了', $objMailText);
     $toCustomerMail = $objMailText->fetch('mail_templates/customer_refusal_mail.tpl');
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $subject, $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04'], $CONF['email01']);
     $objMail->setTo($arrCustomerData['email'], $arrCustomerData['name01'] . $arrCustomerData['name02'] . ' 様');
     $objMail->sendMail();
 }
 /**
  * パスワード変更お知らせメールを送信する.
  *
  * @param array $CONF 店舗基本情報の配列
  * @param string $email 送信先メールアドレス
  * @param string $customer_name 送信先氏名
  * @param string $new_password 変更後の新パスワード
  * @return void
  *
  * FIXME: メールテンプレート編集の方に足すのが望ましい
  */
 function lfSendMail(&$CONF, $email, $customer_name, $new_password)
 {
     // パスワード変更お知らせメール送信
     $objMailText = new SC_SiteView_Ex(false);
     $objMailText->setPage($this);
     $objMailText->assign('customer_name', $customer_name);
     $objMailText->assign('new_password', $new_password);
     $toCustomerMail = $objMailText->fetch('mail_templates/forgot_mail.tpl');
     $objHelperMail = new SC_Helper_Mail_Ex();
     $objHelperMail->setPage($this);
     // メール送信オブジェクトによる送信処理
     $objMail = new SC_SendMail_Ex();
     $objMail->setItem('', $objHelperMail->sfMakeSubject(t('c_The password has been changed._01')), $toCustomerMail, $CONF['email03'], $CONF['shop_name'], $CONF['email03'], $CONF['email04'], $CONF['email04']);
     $objMail->setTo($email, t('f_LAST_NAME_SIR_01', array('T_ARG1' => $customer_name)));
     $objMail->sendMail();
     return;
 }