$mailElementsData = $AutoMailOBJ->getAutoMailData("regist_danger", "registed_danger", $mailAddress); // リメール送信 if ($mailElementsData) { //登録エラータグ発行 $AffiliateControlOBJ->sendAffiliateData($quitBlackUserData["user_id"], $aryAffiliateValue, $affiliateControlSendType, false); // 個体識別重複登録メール送信 $mailElements = $AutoMailOBJ->convertMailElements($mailElementsData["elements"], $quitBlackUserData["user_id"]); // メール送信 //$AutoMailOBJ->mailTo($mailElements, "", $mailElementsData["image_data"], $mailElementsData["image_type"]); $AutoMailOBJ->smtpMailTo($mailElements, "", $mailElementsData["image_data"], $mailElementsData["image_type"]); exit; } } // トランザクション開始 $UserOBJ->beginTransaction(); $ComUtilityOBJ = ComUtility::getInstance(); // userデータを仮登録で挿入 $currentDateTime = date("Y-m-d H:i:s"); $accessKey = $UserOBJ->getNewAccessKey($currentDateTime); $remailKey = $UserOBJ->getNewRemailKey($currentDateTime); $password = ComUtility::getRamdomNumber(4); $userAry = array("login_id" => $mailAddress, "password" => $UserOBJ->createPasswordKey($password), "access_key" => $accessKey, "remail_key" => $remailKey, "regist_status" => $registStatus, "media_cd" => $aryAffiliateValue["advcd"], "pre_regist_datetime" => $currentDateTime, "update_datetime" => $currentDateTime); if ($adCdRule16Flag) { $userAry["affiliate_first_cd"] = substr($aryAffiliateValue["advcd"], 0, 4); $userAry["affiliate_last_cd"] = substr($aryAffiliateValue["advcd"], 4, 4); $userAry["affiliate_ym_cd"] = substr($aryAffiliateValue["advcd"], 8, 2); $userAry["affiliate_media_cd"] = substr($aryAffiliateValue["advcd"], 10, 6); } if ($registStatus == $_config["define"]["USER_REGIST_STATUS_MEMBER"]) { $userAry["regist_datetime"] = $currentDateTime; }
/** * sendMagicで送信する。 * * @param array $mailElemnts メールデータ配列 * * @return boolean */ public function sendMagicDelivery($mailElemnts) { if (!is_array($mailElemnts)) { return false; } // 整形 $mailElemnts['sec'] = (int) $this->plasticStrings($mailElemnts['sec']); $mailElemnts['ts'] = (int) $this->plasticStrings($mailElemnts['ts']); $mailElemnts['from'] = $this->plasticStrings($mailElemnts['from']); $mailElemnts['from_nm'] = $this->plasticStrings($mailElemnts['from_nm']); $mailElemnts['rtn_path'] = $this->plasticStrings($mailElemnts['rtn_path']); $mailElemnts['rep_to'] = $this->plasticStrings($mailElemnts['rep_to']); $mailElemnts['to'] = $this->plasticStrings($mailElemnts['to']); //$mailElemnts['to_nm'] = $this->plasticStrings($mailElemnts['to_nm']); $mailElemnts['sbj'] = $this->plasticStrings($mailElemnts['sbj']); $mailElemnts['body'] = $this->plasticStrings($mailElemnts['body']); $mailElemnts['html'] = $this->plasticStrings($mailElemnts['html']); if (!$mailElemnts['from']) { return false; } // First, clear all vars $this->mail_subject = ""; $this->mail_from = ""; $this->mail_to = ""; $this->mail_cc = ""; $this->mail_bcc = ""; $this->mail_text = ""; $this->mail_html = ""; $this->mail_header = ""; $this->mail_body = ""; $this->mail_reply_to = ""; $this->mail_return_path = ""; $this->attachments_index = 0; $this->sended_index = 0; // Clear Array Vars $this->attachments = array(); $this->attachments_img = array(); // 配信時間指定 if ($mailElemnts['ts']) { $sendStart = $mailElemnts['ts']; } elseif ($this->_mailSendStartDate) { $sendStart = $this->_mailSendStartDate; } else { $sendStart = $this->makeSendStart($mailElemnts['sec']); } $this->setSendStart($sendStart); $ComUtilityOBJ = ComUtility::getInstance(); $deviceCd = $ComUtilityOBJ->getDeviceFromMailAddress($mailElemnts['to']); if ($deviceCd == $this->_configOBJ->define->DEVICE_OTHER) { // PCはJIS $this->setCharset("ISO-2022-JP"); } else { // モバイルは絵文字対応のためShift_JIS $this->setCharset("Shift_JIS"); } $this->setFrom($mailElemnts['from'], $mailElemnts['from_nm']); $this->setTo($mailElemnts['to'], $mailElemnts['to_nm']); $this->setReturnPath($mailElemnts['rtn_path']); if ($mailElemnts['rep_to']) { $this->setReplyTo($mailElemnts['rep_to']); } $this->setSubject($mailElemnts['sbj']); $this->setText($mailElemnts['body']); $this->setHtml($mailElemnts['html']); if ($mailElemnts['image'] && $mailElemnts['image_type']) { $count = count($mailElemnts['image']); for ($i = 0; $i < $count; $i++) { $image = $mailElemnts['image'][$i]; // imageデータ $type = $mailElemnts['image_type'][$i]; // imageタイプ $cid = str_pad($i + 1, 3, "0", STR_PAD_LEFT); // Content-ID : 00*形式 if (preg_match("/\\//", $type)) { $type = substr(strrchr($type, "/"), 1); } $ext = str_replace("jpeg", "jpg", $type); // 拡張子(jpegのみjpgへ変換) $name = $cid . "." . $ext; $this->addContentAttachment($image, $name); } } // smtpHost指定(デフォルトは通常=>SendMagic) if (empty($this->smtp_host) && empty($this->smtp_port)) { //if (empty($this->openSmtpConnect())) { $mailServerIp = $this->_configOBJ->common_config->smtp_mail_server_ip->sendMagic; // IPセット $this->setSendMailServerIp($mailServerIp); // 接続 if (!$this->openSmtpConnect()) { return false; } } // 送信 if ($this->send()) { return true; } else { return false; } }
/** * _convertEmojiメソッド * * 絵文字を変換する * * @param string $string 文字列 * @return string $string */ protected function _convertEmoji($string) { $utilityOBJ = ComUtility::getInstance(); $configOBJ = ComConfig::getInstance(); $carrier = $utilityOBJ->getDeviceFromMailAddress($this->getTo()); $comEmojiOBJ = ComEmoji::getInstance($configOBJ->admin_config->device->{$carrier}); $string = $comEmojiOBJ->mailConvertCarrier($string); return $string; }