/**
  *  getInstanceメソッド
  *
  *  このクラスのオブジェクトを生成する。
  *  既に生成されていたら、前回と同じものを返す。
  *
  *  @return object  $instance
  */
 public static function getInstance()
 {
     if (!self::$instance) {
         $className = __CLASS__;
         self::$instance = new $className();
     }
     return self::$instance;
 }
 * @author      norihisa Hosoda
 */
// プロジェクトディレクトリの絶対パス
define("D_BASE_DIR", dirname(dirname(dirname(__FILE__))));
// Web側・管理側共通処理ファイルの読み込み
require_once D_BASE_DIR . "/common/common.php";
ini_set("memory_limit", "-1");
set_time_limit(0);
$AdmMailMagazineOBJ = AdmMailMagazine::getInstance();
$KeyConvertOBJ = KeyConvert::getInstance();
$AdminUserOBJ = AdmUser::getInstance();
$SendMailOBJ = SendMail::getInstance();
$UserOBJ = User::getInstance();
//通常メルマガ用とひっぺ用ふたつインスタンス
$normalComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
$reverseComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
$timeStamp = strtotime(date("H:i:00"));
$hour = idate("H");
$minute = idate("i");
$intervalKey = 2;
//$whereTestArray = "";
//$whereTestArray[] = "id = 255"; // norihisa_hosoda@fraise.jpへ
//$regularList = $AdmMailMagazineOBJ->testGetSendMailRegularList($whereTestArray);
$regularList = $AdmMailMagazineOBJ->getSendMailRegularList();
if (!$regularList) {
    exit("NoData");
}
// SMTPホスト設定(通常・反転)
$normalComSendMagicDeliveryOBJ->setSendMailServerIp($_config["common_config"]["smtp_mail_server_ip"]["sendMagic"]);
$reverseComSendMagicDeliveryOBJ->setSendMailServerIp($_config["common_config"]["smtp_mail_server_ip"]["reverse"]);
try {
 */
require_once D_BASE_DIR . "/common/admin_common.php";
ini_set("memory_limit", "-1");
$param = $requestOBJ->getParameterExcept($exceptArray);
$fromName = $requestOBJ->getParameter("from_name", "off_html");
$pcSubject = $requestOBJ->getParameter("pc_subject", "off_html");
$pcTextBody = $requestOBJ->getParameter("pc_text_body", "off_html");
$mbSubject = $requestOBJ->getParameter("mb_subject", "off_html");
$mbTextBody = $requestOBJ->getParameter("mb_text_body", "off_html");
$execMsgSessOBJ = new ComSessionNamespace("exec_msg");
$returnSessOBJ = new ComSessionNamespace("return");
$AdmOrderingOBJ = AdmOrdering::getInstance();
$AdmSupportMailLogOBJ = AdmSupportMailLog::getInstance();
$AdmSupportMailOBJ = AdmSupportMail::getInstance();
$AdminUserOBJ = AdmUser::getInstance();
$ComSendMagicDeliveryOBJ = ComSendMagicDelivery::getInstance();
$tags = array("ordering_id", "sesKey");
$URLparam = $requestOBJ->makeGetTag($tags);
$orderingData = $AdmOrderingOBJ->getOrderingData($param["ordering_id"]);
$userData = $AdminUserOBJ->getUserData($orderingData["user_id"]);
if (!$orderingData) {
    $errorMsg[] = "注文が取得できません";
    $execMsgSessOBJ->exec_msg = $errorMsg;
    header("location: ./?action_ordering_OrderingSearchList=1&" . $URLparam);
    exit;
}
$sendData = null;
$param["pc_to_address"] = $userData["pc_address"];
$param["mb_to_address"] = $userData["mb_address"];
$validationOBJ = new ComArrayValidation($param);
$validationOBJ->check("from_address", "送信元アドレス", array("MailAddress" => null), array("MailAddress" => "送信元アドレスが正しくありません"));
Example #4
0
 /**
  * mailToメソッド
  *
  * メール送信実行
  *
  * @param string $mailAddress    送信するメアド
  * @param array   $$mailElements  送信する要素
  *   [from_address]:メール送信元アドレス
  *   [from_name]   :メール送信元名(任意)
  *   [return_path] :リターンアドレス(任意)
  *   [subject]     :メールタイトル
  *   [text_body]   :メール本文(テキスト)
  *   [html_body]   :メール本文(HTML)(任意)
  * @return 送信成功:True 送信失敗:False
  */
 public function mailTo($mailElements, $sec = 0, $imageData = null, $imageType = null)
 {
     $AdmMailMagazineOBJ = AdmMailMagazine::getInstance();
     //return $AdmMailMagazineOBJ->mailTo($mailElements, $sec, $imageData, $imageType);
     $sendMailData = $AdmMailMagazineOBJ->smtpMailTo($mailElements, $sec, $imageData, $imageType);
     // リメール用インスタンス生成
     $contactComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
     // SMTPホスト設定(SendMagic)
     $contactComSendMagicDeliveryOBJ->setSendMailServerIp($this->_configOBJ->common_config->smtp_mail_server_ip->sendMagic);
     // SMTP接続開始
     if (!$contactComSendMagicDeliveryOBJ->openSmtpConnect()) {
         return false;
     }
     $smtpSendResult = true;
     if ($sendMailData) {
         // リメール送信
         if (!$contactComSendMagicDeliveryOBJ->sendMagicDelivery($sendMailData)) {
             $smtpSendResult = false;
         }
     } else {
         $smtpSendResult = false;
     }
     // SMTP切断
     $contactComSendMagicDeliveryOBJ->closeSmtpConnect();
     return $smtpSendResult;
 }
Example #5
0
 /**
  * operationMailToメソッド(SMTP)
  *
  * 運営へメール送信実行
  *
  * @param array   $mailElements  送信する要素
  *   [return_path] :リターンアドレス(任意)
  *   [subject]     :メールタイトル
  *   [text_body]   :メール本文(テキスト)
  *   [html_body]   :メール本文(HTML)(任意)
  * @return 送信成功:True 送信失敗:False
  */
 public function operationMailTo($mailElements, $sec = 0)
 {
     if (!isset($mailElements)) {
         return FALSE;
     }
     // http通信
     //送信用にエンコード
     $sendSubject = $mailElements["subject"];
     $sendTextBody = htmlspecialchars_decode($mailElements["text_body"], ENT_QUOTES);
     //$sendHtmlBody = base64_encode($mailElements["html_body"]);
     // 送信項目の設定
     $postdata["to"] = self::OPERATION_MAIL_ACCOUNT . $this->_configOBJ->define->MAIL_DOMAIN;
     $postdata["rtn_path"] = $mailElements["return_path"] ? $mailElements["return_path"] : self::RETURN_PATH . $this->_configOBJ->define->MAIL_DOMAIN;
     $postdata["from"] = "root@" . $this->_configOBJ->define->MAIL_DOMAIN;
     $postdata["from_nm"] = $this->_configOBJ->define->SITE_NAME;
     $postdata["sbj"] = $sendSubject;
     $postdata["body"] = $sendTextBody;
     $postdata["html"] = $mailElements["html_body"];
     $postdata["sec"] = $sec;
     // リメール用インスタンス生成
     $operationMailComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
     // SMTPホスト設定(SendMagic)
     $operationMailComSendMagicDeliveryOBJ->setSendMailServerIp($this->_configOBJ->common_config->smtp_mail_server_ip->sendMagic);
     // SMTP接続開始
     if (!$operationMailComSendMagicDeliveryOBJ->openSmtpConnect()) {
         return false;
     }
     // 送信メールデータ生成
     $sendMailData = $postdata;
     $smtpSendResult = true;
     if ($sendMailData) {
         // リメール送信
         if (!$operationMailComSendMagicDeliveryOBJ->sendMagicDelivery($sendMailData)) {
             $smtpSendResult = false;
         }
     } else {
         $smtpSendResult = false;
     }
     // SMTP切断
     $operationMailComSendMagicDeliveryOBJ->closeSmtpConnect();
     return $smtpSendResult;
 }
 */
// プロジェクトディレクトリの絶対パス
define("D_BASE_DIR", dirname(dirname(dirname(__FILE__))));
// Web側・管理側共通処理ファイルの読み込み
require_once D_BASE_DIR . "/common/common.php";
ini_set("memory_limit", "-1");
set_time_limit(0);
$AdmMailMagazineOBJ = AdmMailMagazine::getInstance();
$KeyConvertOBJ = KeyConvert::getInstance();
$AdminUserOBJ = AdmUser::getInstance();
$SendMailOBJ = SendMail::getInstance();
$UserOBJ = User::getInstance();
//通常メルマガ用とひっぺ用ふたつインスタンス
$normalComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
//$reverseComSendMagicDeliveryOBJ = new ComSendMagicDelivery();
$normalComSendMagicDeliveryMbOBJ = new ComSendMagicDelivery();
//$whereTestArray = "";
//$whereTestArray[] = "id = 6249"; // norihisa_hosoda@fraise.jpへ
//$reserveList = $AdmMailMagazineOBJ->testGetSendMailReserveList($whereTestArray);
$reserveList = $AdmMailMagazineOBJ->getSendMailReserveList();
if (!$reserveList) {
    exit("NoData");
}
$updateArray = array("is_send" => "1", "update_datetime" => date("YmdHis"));
$AdmMailMagazineOBJ->beginTransaction();
// 重複配信防止のため、取ってきた予約データは例外なく送信済みにする
foreach ($reserveList as $listValue) {
    if (!$AdmMailMagazineOBJ->updateMailMagaReserve($updateArray, array("id = " . $listValue["id"]))) {
        $AdmMailMagazineOBJ->rollbackTransaction();
        exit("NG1");
    }