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

Magento2.3.5-p2使用Mageplaza SMTP发邮件遇NTLM认证与SSL证书问题

Magento 2.3.5-p2 + Mageplaza SMTP 邮件发送问题排查与解决方案

报错信息

Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.  
OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed  
/vendor/laminas/laminas-mail/src/Protocol/Smtp.php on line 225  

背景情况

  • 邮件服务器要求NTLM认证,但Mageplaza SMTP扩展的「认证类型」下拉菜单中无此选项
  • 已通过SMTP诊断工具验证:主机使用NTLM认证可成功发送邮件
  • 网站已安装有效SSL证书且运行正常,疑惑是否需单独针对邮件服务器更新CA证书

问题解答

1. Mageplaza SMTP是否支持NTLM认证?Magento 2中NTLM邮件发送的最佳替代方案?

Mageplaza SMTP扩展默认不支持NTLM认证,官方也未提供相关配置选项。

最佳替代方案分两类:

  • 快速应急方案:使用支持NTLM的邮件中继服务(比如用Postfix配置NTLM中继,或第三方SMTP中继工具),让中继服务器处理NTLM认证逻辑,Magento端只需配置中继服务器的普通SMTP信息(如账号密码认证)。
  • 长期定制方案:开发自定义扩展重写Mageplaza SMTP的认证流程,集成NTLM认证适配器。可基于Laminas Mail的扩展机制,新增NTLM认证适配类,替换原有的认证逻辑。

2. 选择自定义模块还是邮件中继服务器?

  • 优先选邮件中继:如果团队没有Magento定制开发能力,或需要快速解决问题,中继方案配置简单、无需改动代码、风险低,适合中小团队或紧急场景。
  • 选自定义模块:如果业务必须依赖内部邮件服务器,且有稳定的开发资源,可定制模块。但要注意适配Magento 2.3.5-p2对应的Laminas Mail版本,后续升级Magento或Mageplaza扩展时需同步维护。

3. 如何在不影响网站SSL的前提下更新CA证书?

网站SSL证书与邮件客户端的CA证书是独立配置,操作步骤如下:

  1. 定位PHP使用的CA证书路径:执行命令 php -i | grep "openssl.cafile" 或 php -i | grep "openssl.capath",查看当前PHP加载的CA证书文件位置。
  2. 获取目标CA证书:导出邮件服务器的根CA证书文件(格式为PEM)。
  3. 追加证书到PHP的CA包:将邮件服务器的根CA证书内容追加到PHP当前使用的cacert.pem文件末尾,既不影响网站SSL的证书验证,又能让邮件客户端识别邮件服务器的证书。
  4. 生效配置:重启PHP-FPM或web服务器,再用SMTP诊断工具测试邮件发送。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:18:16