// +---------------------------------------------------------------------- // 应用公共文件 function authcode($str) { $key = substr(md5('ThinkPHP.CN'), 5, 8); $str1 = substr(md5($str), 8, 10); return md5($key . $str1); } /** * @function sendEmail * @intro 发送邮件(带附件) * @param $email 接收邮箱 * @param $title 邮件标题 * @param $from_name 发件人 * @param $content 邮件内容 * @param $memail 邮件内容 * @param $mpassword 邮件内容 * @param $attachmentFile 附件 (string | array) * @return array */ function sendEmail($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') { date_default_timezone_set('PRC'); //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 0; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //charset $mail->CharSet = 'UTF-8'; //Set the hostname of the mail server $mail->Host = "smtp.qiye.aliyun.com"; //请填写你的邮箱服务器 //Set the SMTP port number - likely to be 25, 465 or 587 $mail->Port = 25; //端口号 //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication $mail->Username = $memail == '' ? "tmrweb@tmrjournals.com" : $memail; //发件邮箱用户名 //Password to use for SMTP authentication $mail->Password = $mpassword == '' ? "Wu999999tmrwe" : $mpassword; //发件邮箱密码 //Set who the message is to be sent from $mail->setFrom($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name); //Set an alternative reply-to address(用户直接回复邮件的地址) $mail->addReplyTo($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name); //Set who the message is to be sent to $mail->addAddress($email); //Set the subject line $mail->Subject = $title; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML($content); //Replace the plain text body with one created manually $mail->AltBody = ''; if (is_array($attachmentFile)) { for ($i = 0; $i < count($attachmentFile); $i++) { $mail->addAttachment($attachmentFile[$i], 'thanks.pdf' . $i); //这里可以是多维数组,然后循环附件的文件和名称 } } else { if ($attachmentFile != '') { //Attach an image file $mail->addAttachment($attachmentFile, 'thanks.pdf'); } } //send the message, check for errors if (!$mail->send()) { $status = 0; $data = "邮件发送失败" . $mail->ErrorInfo; ; } else { $status = 1; $data = "邮件发送成功"; } return ['status' => $status, 'data' => $data]; //返回值(可选) } /** * 生成文章sn号 * @return type */ function getArticleSN($abbr,$type) { $str = $abbr; $str .= date('Y', time()).$type.date('md', time()); $where['accept_sn'] = ['like', "$str%"]; $nowres = Db::name('article')->where($where)->select(); $last_num = 1; if ($nowres) { foreach ($nowres as $v) { $now_num = intval(substr($v['accept_sn'], -3)); $last_num = $now_num > $last_num ? $now_num : $last_num; } $last_num += 1; } $last_str = sprintf("%03d", $last_num); $str .= $last_str; return $str; } /** * 增加usermsg */ function add_usermsg($userid, $content, $url) { $msg_obj = Db::name('user_msg'); $msg_info = $msg_obj->where('user_id', $userid) ->where('url', $url) ->where('state', 0) ->find(); if ($msg_info) { return true; } $msgdata['user_id'] = $userid; $msgdata['content'] = $content; $msgdata['url'] = $url; $msgdata['ctime'] = time(); return $msg_obj->insert($msgdata); }