SendBxMailController.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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/20250321职业责任险投保清单.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. // 设置邮件内容
  34. $mail->isHTML(true); // 将邮件正文设置为HTML格式
  35. // 设置邮件内容
  36. $mail->Subject = mb_convert_encoding('请查收附件中的Excel文件', 'UTF-8', 'auto');
  37. $mail->Body = mb_convert_encoding('<p>你好,<br>请查收附件中的Excel文件。</p>', 'UTF-8', 'auto');
  38. $mail->AltBody = mb_convert_encoding('你好,请查收附件中的Excel文件。', 'UTF-8', 'auto');
  39. // 添加附件
  40. $mail->addAttachment($filePath, '20250321职业责任险投保清单.xlsx'); // 添加附件,第二个参数是显示在邮件中的文件名
  41. $mail->send();
  42. echo '邮件发送成功';
  43. } catch (Exception $e) {
  44. echo "邮件发送失败. 错误信息: {$mail->ErrorInfo}";
  45. }
  46. }
  47. }