/** * 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" => "送信元アドレスが正しくありません"));
/** * 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; }
/** * 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"); }