SendBxMailController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 = 'public/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_STARTTLS; // 开启加密,默认为无加密,可选`PHPMailer::ENCRYPTION_SMTPS`
  27. $mail->Port = 587; // TCP端口,默认是25
  28. // 发送者和接收者设置
  29. $mail->setFrom('whkyjl@126.com', '武汉开源节流科技有限公司'); // 发件人邮箱和名称
  30. $mail->addAddress('1804628603@qq.com', '出单业务'); // 收件人邮箱和名称
  31. // $mail->addAddress('sujing@ub.chinalife-p.com.cn', '出单业务'); // 收件人邮箱和名称
  32. // 设置邮件内容
  33. $mail->isHTML(true); // 将邮件正文设置为HTML格式
  34. $mail->Subject = '请查收附件中的Excel文件';
  35. $mail->Body = '<p>你好,<br>请查收附件中的Excel文件。</p>';
  36. $mail->AltBody = '你好,请查收附件中的Excel文件。'; // 非HTML邮件客户端显示的内容
  37. // 添加附件
  38. $mail->addAttachment($filePath, '20250321职业责任险投保清单.xlsx'); // 添加附件,第二个参数是显示在邮件中的文件名
  39. $mail->send();
  40. echo '邮件发送成功';
  41. } catch (Exception $e) {
  42. echo "邮件发送失败. 错误信息: {$mail->ErrorInfo}";
  43. }
  44. }
  45. }