• 查看是否开启openssl
php -r 'echo !extension_loaded('openssl')?"Not Available":"Available";';
执行结果
PHP Warning:  Use of undefined constant openssl - assumed 'openssl' (this will throw an Error in a future version of PHP) in Command line code on line 1
后来发现把内容写入到php文件中执行正常的
  • 未配置CA证书的情况
先查询配置文件路径
bash-4.4# php -i | grep cafile
openssl.cafile => no value => no value

创建ca文件, 把下载的CA文件的内容粘贴进去 [下载最新的CA cert文件](https://curl.haxx.se/ca/cacert.pem)
vi /etc/ssl/cacert.pem

修改php配置文件, 添加下面的内容
bash-4.4# vi /etc/php7/php.ini
openssl.cafile = /etc/ssl/cacert.pem
curl.cainfo = /etc/ssl/cacert.pem

判断是否开启openssl
php -m | grep openssl
如果没有开启,搜索php.ini下面内容, 把前面的;删除
extension=openssl


再次确认配置是否生效
bash-4.4# php -i | grep cafile
openssl.cafile => /etc/ssl/cacert.pem => /etc/ssl/cacert.pem
  • 最终还是查到了原因, 配置的域名邮箱的域名解析的关联mx值丢失导致的
MX记录
未设置或暂未生效

参考链接: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

标签: none

添加新评论