1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- namespace service;
- use PHPMailer\PHPMailer\PHPMailer;
- class PHPMailerService extends PHPMailer
- {
- const HOST='smtp.qq.com';
- const USER='136327134@qq.com';
- const PSD='fkjeyxwuvujtbibh';
- protected static $debug=0;
- protected static $mail=null;
- protected static function setConfig(){
- self::$mail = new self();
- //是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
- self::$mail->SMTPDebug =self::$debug;
- //使用smtp鉴权方式发送邮件
- self::$mail->isSMTP();
- //smtp需要鉴权 这个必须是true
- self::$mail->SMTPAuth=true;
- //链接qq域名邮箱的服务器地址
- self::$mail->Host =self::HOST;
- //设置使用ssl加密方式登录鉴权
- self::$mail->SMTPSecure = 'ssl';
- //设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
- self::$mail->Port = 465;
- //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
- self::$mail->CharSet = 'UTF-8';
- //smtp登录的账号 这里填入字符串格式的qq号即可
- self::$mail->Username =self::USER;
- //smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码)
- self::$mail->Password =self::PSD;
- //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
- self::$mail->isHTML(true);
- }
- /*
- * $addresser 发件人
- * $to 发送至邮箱
- * $title 标题
- * $content 内容
- * */
- public static function sendMail($title,$content,$to,$name='',$addresser=self::USER){
- self::setConfig();
- //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
- self::$mail->From=$addresser;
- //设置发件人
- if(is_array($to)){
- foreach ($to as $item){
- if(isset($item['to_mail']) && isset($item['name']) && $item['to_mail']) self::$mail->addAddress($item['to_mail'],$item['name']);
- }
- }else{
- self::$mail->addAddress($to,$name);
- }
- self::$mail->Subject = $title;
- self::$mail->Body = $content;
- return self::$mail->send();
- }
- }
|