/** * 获取并设置区域信息 */ protected function regionInfo() { if (empty($key)) { // 采用行政区域参数 if (!empty($_GET['region'])) { $_region = Tools::convertToUtf8(urldecode($_GET['region'])); $city = explode('市', $_region); if (!empty($city[0])) { $key = explode('省', $city[0]); } else { $key = $_region; } } elseif (!empty($_GET['area'])) { $_area = Tools::convertToUtf8(urldecode($_GET['area'])); $key = explode(',', $_area); } elseif (!empty($_GET['prov']) || !empty($_GET['city'])) { $key[] = Tools::convertToUtf8(trim($_GET['prov'])); // 关键词——2 $key[] = empty($_GET['city']) ? '' : Tools::convertToUtf8(trim($_GET['city'])); // 关键词2——2 } // 采用ip参数 if (empty($key[1]) && empty($key[0])) { if (!empty($_GET['geoip'])) { $ip = trim($_GET['geoip']); } else { $ip = !empty($_COOKIE['geoip']) ? trim($_COOKIE['geoip']) : ''; } preg_match('/[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/', $ip, $matches); $ip = $matches[0]; $key = !$ip ? null : GeoTool::getAreaNameByIp($ip); } } // 市 if (empty($key[1])) { // $key [1] = $key [0]; // unset ( $key [0] ); } else { $this->region['city'] = Tools::convertToUtf8($key[1]); } // 省 if (empty($key[0])) { // unset ( $key [0] ); } else { $this->region['prov'] = Tools::convertToUtf8($key[0]); } debugLog(__CLASS__ . ':region', $this->region); }
/** * @desc 使用smtp发送邮件 * @param string/array $to 收件人,可以是字符串/数组,如果是字符串同时是多个收件人,则收件人地址之间使用英文分号(;)分隔 * @param string $subject 邮件标题 * @param string $body 邮件正文 * @param array $conf * array( <br /> * 'port' => 邮箱服务器端口,默认25, <br /> * 'host'=>'邮箱服务器地址,默认smtp.163.com', <br /> * 'username'=>'邮箱地址,默认 iorichina56@163.com', <br /> * 'password'=>'密码,默认 iorichina56@163.com的密码', <br /> * 'fromname'=>显示名称 ,默认是"56.com首页告警系统"<br /> * ) */ public static function sendEmail($to, $subject, $body, $conf = array()) { try { $mail = new PHPMailer(true); //New instance, with exceptions enabled $mail->CharSet = 'utf-8'; //$mail->IsSMTP (); // tell the class to use SMTP $mail->Mailer = 'smtp'; //$mailer $mail->SMTPAuth = true; // enable SMTP authentication $mail->Port = $conf['port'] ? $conf['port'] : 25; // set the SMTP server port $mail->Host = $conf['host'] ? $conf['host'] : "smtp.163.com"; // SMTP server $mail->Username = $conf['username'] ? $conf['username'] : "******"; // SMTP server username $mail->Password = $conf['password'] ? $conf['password'] : "******"; // SMTP server password //$mail->IsSendmail (); // tell the class to use Sendmail //$mail->AddReplyTo ( "*****@*****.**", "First Last" ); $mail->From = $conf['username'] ? $conf['username'] : "******"; $mail->FromName = Tools::convertToUtf8($conf['fromname'] ? $conf['fromname'] : "56.com首页告警系统"); if (is_array($to)) { foreach ($to as $addr) { $addr = trim($addr); $mail->AddAddress($addr); } } elseif (strpos($to, ';')) { preg_match_all('/[^;]+/i', $to, $matches, PREG_SET_ORDER); if (is_array($matches)) { foreach ($matches as $addr) { $addr = trim($addr); $mail->AddAddress($addr); } } } elseif (!empty($to)) { $mail->AddAddress($to); } else { return false; } //$body = preg_replace ( '/\\\\/', '', $body ); //Strip backslashes //$body = Tools::convertToUtf8 ( $body ); $subject = Tools::convertToUtf8($subject); $mail->Subject = $subject; $mail->AltBody = "56.com"; // optional, comment out and test $mail->WordWrap = $conf['wordwrap'] ? $conf['wordwrap'] : 80; // set word wrap if (!isset($conf['html']) || $conf['html']) { $mail->MsgHTML($body); //$mail->Body = $body; } else { $body = htmlspecialchars($body); $mail->Body = $body; } $return = $mail->Send(); return $return; } catch (phpmailerException $e) { return $e->errorMessage(); } }