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

Laravel配置Zoho SMTP发信时MAIL_FROM_NAME带空格故障求解

Laravel Zoho SMTP 配置问题解决方案

核心错误原因排查

你遇到的添加引号后出现连接拒绝的问题,本质是两个配置问题叠加导致的:

  1. 初始配置中SMTP端口与加密方式不匹配:Zoho SMTP规定 587端口对应tls加密,465端口对应ssl加密,你用587端口搭配ssl加密本身就存在兼容问题。
  2. 未加引号时,.env解析器遇到空格会截断MAIL_FROM_NAME的值,且会触发dotenv解析异常导致网站崩溃;此时如果存在旧的配置缓存,发信逻辑会读取缓存中有效的旧配置,所以能正常发信。添加引号后.env解析正常,就会加载不匹配的端口加密配置,直接触发连接拒绝报错。

具体解决步骤

1. 修正端口与加密的对应关系

两种合法配置二选一即可:

# 方案A:使用SSL加密
MAIL_PORT=465
MAIL_ENCRYPTION=ssl

# 方案B:使用587端口
MAIL_PORT=587
MAIL_ENCRYPTION=tls

2. 保留带双引号的MAIL_FROM_NAME配置

带空格的.env参数必须用双引号包裹,这个操作本身是正确的,不需要调整:

MAIL_FROM_NAME="Test Sales"

3. 清理Laravel配置缓存

修改.env文件后必须清理旧缓存,避免配置残留:

# 清理配置缓存
php artisan config:clear

# 生产环境建议重新生成缓存
php artisan config:cache

4. 验证配置有效性

执行命令查看实际加载的邮件配置是否符合预期:

php artisan tinker
>>> config('mail')

确认输出中的from.name为Test Sales,port、encryption字段和你调整后的配置一致即可。


额外注意事项

需保证MAIL_FROM_ADDRESS配置值和MAIL_USERNAME的邮箱地址完全一致,Zoho SMTP会校验发件人地址与登录账号的匹配性,避免发信被拦截。

内容的提问来源于stack exchange,提问作者B L Praveen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:54:04