PHPMailerService.php 3.0 KB

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