You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel8 sendmail驱动运行异常 报错找不到指定路径如何解决

问题排查与解决方案

Process could not be started [The system cannot find the path specified. ] {"exception":"[object] (Swift_TransportException(code: 0): Process could not be started [The system cannot find the path specified. ] at C:\xampp4\htdocs\payroll\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:294)

问题根因

核心原因是运行环境与配置的sendmail路径不匹配:你使用的是Windows XAMPP运行环境,但是当前配置的MAIL_SENDMAIL路径/usr/sbin/sendmail是Linux/Unix系统下的默认路径,Windows系统不存在该目录,因此触发路径找不到的报错。你的mail.php配置结构本身没有错误,不需要调整结构。

解决方案

方案1:改用SMTP驱动(推荐,Windows环境适配性更好)

  • 修改.env文件的邮件配置为SMTP模式,参考配置如下(可替换为你使用的邮件服务对应的SMTP参数):
MAIL_MAILER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
MAIL_USERNAME=你的邮箱账号
MAIL_PASSWORD=你的邮箱SMTP授权码
MAIL_FROM_ADDRESS=你的发件邮箱
MAIL_FROM_NAME=发件人名称
  • 配置完成后执行命令php artisan config:clear清除Laravel配置缓存,再测试发信功能即可。

方案2:保留sendmail驱动的修改方法

  • 找到XAMPP内置的sendmail程序路径,默认路径为C:\xampp4\sendmail\sendmail.exe,修改.env中的MAIL_SENDMAIL参数:
MAIL_SENDMAIL='C:\xampp4\sendmail\sendmail.exe -t -i'
  • 打开C:\xampp4\sendmail\sendmail.ini文件,配置对应的SMTP服务账号、授权码、发件人等参数
  • 配置完成后执行php artisan config:clear清除缓存后测试发信

额外注意事项

  • 每次修改.env或mail.php配置文件后,必须清除配置缓存才会生效
  • 配置的sendmail路径可先在资源管理器中直接访问验证,确认文件存在且可正常执行

内容的提问来源于stack exchange,提问作者enriquetanada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:39:04