Mail.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace app\api\controller;
  3. use PHPMailer\PHPMailer\PHPMailer;
  4. use app\common\controller\Api;
  5. class MailController extends Api
  6. {
  7. protected $noNeedRight = '*';
  8. protected $to;
  9. protected $title;
  10. protected $content;
  11. public function __construct()
  12. {
  13. // $this->to = "348116649@qq.com";
  14. $this->to = "w343812806@163.com";
  15. $this->title = "日日多金策略文件";
  16. $this->content = "如有疑问可加微信群";
  17. }
  18. function sendMail()
  19. {
  20. $mail = new PHPMailer(true);
  21. // // 这个PHPMailer 就是之前从 Github上下载下来的那个项目
  22. // $mail = new PHPMailer();
  23. // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式,
  24. // 可选择的值有 1 、 2 、 3
  25. // $mail->SMTPDebug = 2;
  26. //使用smtp鉴权方式发送邮件
  27. $mail->isSMTP();
  28. //smtp需要鉴权 这个必须是true
  29. $mail->SMTPAuth = true;
  30. // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址
  31. // $mail->Host = 'smtp.qq.com';
  32. $mail->Host = 'smtp.163.com';
  33. //smtp登录的账号 这里填入字符串格式的qq号即可
  34. // $mail->Username = '1374415737@qq.com';
  35. $mail->Username = 'elegy9264@163.com';
  36. // 这个就是之前得到的授权码,一共16位
  37. // $mail->Password = 'yvjnmqcbufkrhjhf';
  38. $mail->Password = 'CULXTHBHSENNMPWG';
  39. //设置使用ssl加密方式登录鉴权
  40. $mail->SMTPSecure = 'ssl';
  41. // //设置ssl连接smtp服务器的远程服务器端口号,可选465或587
  42. $mail->Port = 465;
  43. //设置smtp的helo消息头 这个可有可无 内容任意
  44. // $mail->Helo = 'Hello smtp.qq.com Server';
  45. //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
  46. $mail->Hostname = 'http://mzwl.com';
  47. //设置发送的邮件的编码 也可选 GB2312
  48. $mail->CharSet = 'UTF-8';
  49. // $mail->setFrom('1374415737@qq.com', '日日多金');
  50. $mail->setFrom('elegy9264@163.com', '日日多金');
  51. // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可
  52. $mail->addAddress($this->to);
  53. //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
  54. $mail->isHTML(true);
  55. // 该邮件的主题
  56. $mail->Subject = $this->title;
  57. // 该邮件的正文内容
  58. $mail->Body = $this->content;
  59. //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
  60. $mail->addAttachment(dirname(__FILE__).'/日日多金.txt', '日日多金');
  61. //同样该方法可以多次调用 上传多个附件
  62. // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
  63. // 使用 send() 方法发送邮件
  64. if (!$mail->send()) {
  65. return 'Mailer Error: ' . $mail->ErrorInfo;
  66. } else {
  67. return "发送成功";
  68. }
  69. }
  70. }