Symfony邮件器测试报错:550发件地址被拒绝(nullMX)
解决Symfony Mailer + Hostinger SMTP 550 5.7.27 错误
问题根源
报错信息里的<from@example.org>是关键:测试邮件使用了Symfony默认的发件人域名example.org,而该域名未配置MX记录(nullMX),导致Hostinger的SMTP服务器拒绝发送请求。你的.env配置本身无误,但Symfony没有使用你指定的contato@mydomain.com作为发件人。
解决步骤
1. 测试时明确指定发件人
执行测试命令时,通过--from参数强制指定正确的发件人地址:
php bin/console mailer:test scheherazadesenpai@gmail.com --from=contato@mydomain.com
2. 配置全局默认发件人
避免每次测试或发送邮件都手动指定发件人,在config/packages/mailer.yaml中添加全局配置:
framework: mailer: dsn: '%env(MAILER_DSN)%' # 配置信封发件人(SMTP协议层面的发件人) envelope: sender: 'contato@mydomain.com' # 可选:配置邮件显示的默认发件人信息 default_options: from: address: 'contato@mydomain.com' name: '你的网站名称'
3. 优化SMTP DSN协议配置
Hostinger的465端口使用SSL加密,建议将MAILER_DSN的协议改为smtp+ssl://,确保加密方式匹配:
###> symfony/mailer ### MAILER_DSN=smtp+ssl://contato@mydomain.com:password_webmail@smtp.hostinger.com:465 ###< symfony/mailer ###
4. 确认域名MX记录
登录Hostinger域名管理后台,检查mydomain.com的MX记录是否正确配置(Hostinger通常会自动配置,若手动修改过需确保记录指向Hostinger官方邮件服务器,如mx1.hostinger.com、mx2.hostinger.com)。
验证
重新执行测试命令,若配置正确,测试邮件将成功发送到指定邮箱。
内容的提问来源于stack exchange,提问作者Deivid Araújo
相关产品推荐
相关产品推荐

