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

Laravel项目添加密码重置功能遇连接错误求助

Laravel密码重置邮件问题解答

错误原因分析

你遇到的Connection could not be established with host "mailpit:1025"错误,完全是本地环境配置问题:

  • mailpit是一款本地邮件测试服务,需要在本地安装并启动后才能正常连接。如果你的.env文件里配置了MAIL_HOST=mailpit但本地未运行该服务,就会出现找不到主机的错误。
  • 错误指向Password::sendResetLink()是因为这个方法触发了邮件发送流程,而邮件客户端无法连接到配置的邮件服务器。

本地错误与Hostinger线上环境的关系

  1. 该错误仅存在于本地环境:线上Hostinger主机不会用到mailpit,只要部署时修改.env里的邮件配置为Hostinger支持的服务(比如Hostinger自带SMTP、Gmail SMTP或第三方邮件服务),这个本地错误就不会出现在线上。
  2. 上传到Hostinger后能否正常工作?
    取决于你是否正确配置了线上环境的邮件参数:
    • Hostinger提供自带的SMTP服务,可在Hostinger后台获取对应的MAIL_HOST、MAIL_PORT、MAIL_USERNAME和MAIL_PASSWORD,配置到.env即可。
    • 如果想用Gmail发送,需要按下方的Gmail配置步骤操作,确保参数正确。

实现Gmail发送重置链接的配置步骤

要让密码重置链接发送到Gmail,需调整Laravel的.env邮件配置:

  1. 准备Gmail的应用专用密码:
    • 普通Gmail账号需先开启两步验证,然后在Google账号「安全」页面生成「应用专用密码」(不能直接用Gmail登录密码)。
    • Google Workspace账号可直接使用账号密码(或联系管理员开启SMTP权限)。
  2. 修改.env配置:
    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=你的完整Gmail邮箱地址
    MAIL_PASSWORD=生成的应用专用密码
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=你的Gmail邮箱地址
    MAIL_FROM_NAME="${APP_NAME}"
    
  3. 本地测试替代方案:
    若仅想测试密码重置流程,不想配置邮件服务,可把邮件驱动改为log:
    MAIL_MAILER=log
    
    邮件内容会被写入storage/logs/laravel.log文件,可在日志里查看生成的重置链接,验证流程是否正常。

内容的提问来源于stack exchange,提问作者JONATHAN KEDAWEN JR.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:52:41