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

Laravel发送邮件报错:sendmail进程连接意外关闭求助

Laravel发送邮件报错"Connection to 'process /usr/sbin/sendmail -bs -i' has been closed unexpectedly"解决方法

你的配置存在明显矛盾:MAIL_MAILER设为sendmail,但同时填写了Gmail SMTP的相关参数,这是错误的根源。以下是两种针对性解决方法:

方案1:使用Gmail SMTP发送(推荐)

既然你填写了Gmail的SMTP信息,应该切换到smtp邮件驱动,并修正参数:

  1. 修改.env配置:
MAIL_MAILER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=587
MAIL_USERNAME=你的完整Gmail邮箱地址
MAIL_PASSWORD=你的Gmail应用专用密码(开启两步验证时必须用这个,不能用登录密码)
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="你的发件邮箱地址"
MAIL_FROM_NAME="${APP_NAME}"
  1. 关键注意点:
    • 若Gmail开启两步验证,必须到谷歌账户设置中生成应用专用密码
    • 若未开启两步验证,需确保账户允许"不太安全的应用访问"(谷歌现在默认禁用,建议优先开启两步验证用应用密码)
  2. 修改后执行命令清除配置缓存:
php artisan config:clear

方案2:使用sendmail发送

如果确实要使用sendmail,需确保系统环境配置正确:

  1. 检查sendmail是否安装:
which sendmail

返回路径则已安装,未安装的话根据系统执行安装命令:

  • Ubuntu/Debian:apt install sendmail
  • CentOS/RHEL:yum install sendmail
  1. 启动并设置sendmail开机自启:
systemctl start sendmail
systemctl enable sendmail
  1. 简化.env配置,移除SMTP冗余参数:
MAIL_MAILER=sendmail
MAIL_FROM_ADDRESS="你的发件邮箱"
MAIL_FROM_NAME="${APP_NAME}"
  1. 同样执行清除缓存命令:
php artisan config:clear

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:07:11