$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 {
    // 該当する予約の数だけループ
    foreach ($regularList as $listValue) {
        // 配信条件の作成
        if ($listValue["send_condition_type"] == AdmMailMagazine::SEND_CONDITION_TYPE_HOUR) {
            if (!($listValue["hour_from"] <= $hour and $listValue["hour_to"] >= $hour and (int) AdmMailMagazine::$_sendConditionTypeHourSecond[$listValue["second"]] == $minute)) {
                continue;
            }
        } else {
            if ($listValue["send_condition_type"] == AdmMailMagazine::SEND_CONDITION_TYPE_DAY) {
                if (strtotime(date("Ymd") . $listValue["send_time"]) != $timeStamp) {
                    continue;
                }
            } else {
                if ($listValue["send_condition_type"] == AdmMailMagazine::SEND_CONDITION_TYPE_WEEK) {
示例#2
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;
 }
示例#3
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;
 }
}
$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");
    }
}
$AdmMailMagazineOBJ->commitTransaction();
$intervalKey = 2;
// SMTPホスト設定(通常・反転)
$normalComSendMagicDeliveryOBJ->setSendMailServerIp($_config["common_config"]["smtp_mail_server_ip"]["sendMagic"]);
//$reverseComSendMagicDeliveryOBJ->setSendMailServerIp($_config["common_config"]["smtp_mail_server_ip"]["reverse"]);
$normalComSendMagicDeliveryMbOBJ->setSendMailServerIp($_config["common_config"]["remail_mb_only"]["sendMagic"]);
try {
    // 該当する予約の数だけループ
    foreach ($reserveList as $listValue) {
        $fromName = htmlspecialchars_decode($listValue["from_name"], ENT_QUOTES);
        $pcSubject = htmlspecialchars_decode($listValue["pc_subject"], ENT_QUOTES);
        $pcTextBody = htmlspecialchars_decode($listValue["pc_text_body"], ENT_QUOTES);
        $pcHtmlBody = htmlspecialchars_decode($listValue["pc_html_body"], ENT_QUOTES);
        $mbSubject = htmlspecialchars_decode($listValue["mb_subject"], ENT_QUOTES);
        $mbTextBody = htmlspecialchars_decode($listValue["mb_text_body"], ENT_QUOTES);
        $mbHtmlBody = htmlspecialchars_decode($listValue["mb_html_body"], ENT_QUOTES);
        $userList = "";
        $userListCnt = "";
        // データリスト取得
        // sql文を作成する
        if (!($userList = $AdmMailMagazineOBJ->getUserList(unserialize($listValue["search_condition"])))) {