我们已经迁移了一个网站,并且在通过PHP的功能邮件(位于同一服务器上)将电子邮件发送到某些地址的电子邮件地址时发现了此错误:


  无法发送电子邮件:file_exists():无法找到包装器
  “ ssl”-您在配置PHP时是否忘记启用它?


另一方面,电子邮件已成功发送到其他域,例如gmail.com或hotmail.com。

启用OpenSSL并启用allow_url_fopen

作为发件人,我们使用sendmail,但似乎未正确配置。我们已经将发件人的域添加到/ etc / mail / local-host-names中,并且已经添加了

define('MAIL_HUB','ourdomain.com.')dnl
define('LOCAL_RELAY','ourdomain.com.')dnl


在/etc/mail/sendmail.mc的底部(修改后会重新执行sendmailconfig和服务sendmail)

环境:


在fastcgi上的PHP 5.6.29-0deb8u1
OpenSSL 1.0.1k
阿帕奇2.4.10
Sendmail 8.14.4


提前致谢。

最佳答案

我发现了问题。邮件服务器不同于网站服务器,sendmail尝试将电子邮件直接发送到网站服务器。

我只是将这些行添加到/etc/mail/sendmail.mc的末尾

define(`MAIL_HUB',`website.server.com.')dnl
define(`LOCAL_RELAY',`website.server.com.')dnl
define(`confDOMAIN_NAME',`mail.server.com')dnl


并运行这些命令

m4 sendmail.mc > sendmail.cf




service sendmail restart

关于php - 已启用OpenSSL,但找不到包装“ssl”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41803266/

10-13 07:29