SendBxMailController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace app\api\controller\notify;
  3. use app\api\controller\BaseApiController;
  4. use PHPMailer\PHPMailer\PHPMailer;
  5. use think\Exception;
  6. /**
  7. * 发送保险的邮箱
  8. * Class SendBxMailController
  9. * @package app\api\controller\notify
  10. */
  11. class SendBxMailController extends BaseApiController
  12. {
  13. public array $notNeedLogin = ['sendMail'];
  14. public function sendMail()
  15. {
  16. // 文件路径 - 替换为你的实际文件路径
  17. $filePath = 'uploads/baoxian/20250327职业责任险投保清单.xlsx';
  18. $mail = new PHPMailer(true);
  19. try {
  20. // 邮件服务器设置
  21. $mail->isSMTP(); // 使用SMTP发送邮件
  22. $mail->Host = 'smtp.126.com'; // SMTP服务器地址,替换为你的SMTP服务器
  23. $mail->SMTPAuth = true; // 启用SMTP认证
  24. $mail->Username = 'whkyjl@126.com'; // SMTP用户名,替换为你的邮箱地址
  25. $mail->Password = 'MNpgMjYMYehx3nPi'; // SMTP密码,替换为你的邮箱密码
  26. $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 开启加密,默认为无加密,可选`PHPMailer::ENCRYPTION_SMTPS`
  27. $mail->Port = 465;
  28. // $mail->SMTPDebug = 2; // 启用详细调试输出
  29. $mail->CharSet = 'UTF-8';
  30. // 发送者和接收者设置
  31. $mail->setFrom('whkyjl@126.com', '武汉开源节流科技有限公司'); // 发件人邮箱和名称
  32. $mail->addAddress('sujing@ub.chinalife-p.com.cn', '出单业务'); // 收件人邮箱和名称
  33. $mail->addAddress('649478907@qq.com', '出单业务'); // 收件人邮箱和名称
  34. $mail->addAddress('liliangjie@ub.chinalife-p.com.cn', '出单业务'); // 收件人邮箱和名称
  35. $mail->addAddress('fangxuhao@outlook.com', '出单业务'); // 收件人邮箱和名称
  36. // $mail->addAddress('1804628603@qq.com', '出单业务'); // 收件人邮箱和名称
  37. // 设置邮件内容
  38. $mail->isHTML(true); // 将邮件正文设置为HTML格式
  39. // 设置邮件内容
  40. $mail->Subject = mb_convert_encoding('请查收附件中的Excel文件', 'UTF-8', 'auto');
  41. $mail->Body = mb_convert_encoding('<p>你好,<br>请查收附件中的Excel文件。</p>', 'UTF-8', 'auto');
  42. $mail->AltBody = mb_convert_encoding('你好,请查收附件中的Excel文件。', 'UTF-8', 'auto');
  43. // 添加附件
  44. $mail->addAttachment($filePath, '20250327职业责任险投保清单.xlsx'); // 添加附件,第二个参数是显示在邮件中的文件名
  45. $mail->send();
  46. echo '邮件发送成功';
  47. } catch (Exception $e) {
  48. echo "邮件发送失败. 错误信息: {$mail->ErrorInfo}";
  49. }
  50. }
  51. }