$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) {
/** * 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; }
/** * 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"])))) {