Magento 2 其余邮件正常仅忘记密码邮件无法发送问题咨询
Magento 2.3.5 忘记密码邮件无法发送排查方案
第一步:检查基础配置一致性
- 确认忘记密码邮件的发件人配置与正常发送的订单邮件发件人一致:进入后台路径
存储 > 设置 > 配置 > 客户 > 客户配置 > 密码选项,查看忘记密码邮件发件人选项,与存储 > 设置 > 配置 > 销售 > 销售邮件 > 订单确认邮件的发件人配置对齐,避免发件人地址未在SMTP白名单或被邮局判定为仿冒导致拦截。 - 重置邮件模板为默认值:进入
内容 > 设计 > 配置 > 编辑当前站点的配置 > 交易邮件,将客户忘记密码模板切换为Magento默认模板,清除缓存后重新测试,排除自定义模板语法错误导致的渲染失败。
第二步:查看Mageplaza SMTP发送日志
- 进入后台
存储 > 设置 > 配置 > MAGEPLAZA EXTENSIONS > SMTP > 日志,筛选提交忘记密码请求的时间点,查看对应邮件的状态:- 若日志显示发送失败且报错包含
模板变量未授权相关提示,为Magento 2.3.5原生安全限制导致,执行以下命令解除变量限制:php bin/magento config:set system/security/mailer_template_allow_variables 1 php bin/magento cache:flush - 若日志显示发送成功,登录服务器查看Postfix投递日志
/var/log/mail.log,确认对应邮件是否被收件方邮局拒收,同时检查收件人邮箱的垃圾箱、广告邮件文件夹。
- 若日志显示发送失败且报错包含
第三步:排除插件与代码冲突
- 临时禁用所有非官方的客户功能相关第三方插件,执行缓存清理后重新测试,排查插件对密码重置邮件触发器的篡改。
- 检查核心文件
vendor/magento/module-customer/Model/AccountManagement.php中initiatePasswordReset方法的传参逻辑,确认customer实体变量是否正常传入邮件模板,避免二开修改导致的参数缺失。
内容的提问来源于stack exchange,提问作者Sachin K
相关产品推荐
相关产品推荐

