【问题标题】:OpenSSL enabled but Unable to find the wrapper "ssl"OpenSSL 已启用,但无法找到包装器“ssl”
【发布时间】:2017-06-07 18:44:24
【问题描述】:

我们已经迁移了一个网站,我们在通过 PHP 的函数 mail(托管在同一台服务器上)向电子邮件地址的某些域发送电子邮件时发现了这个错误:

无法发送电子邮件: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的底部(sendmailconfigservice sendmail restart修改后执行)

环境:

  • PHP 5.6.29-0deb8u1 通过 fastcgi
  • OpenSSL 1.0.1k
  • Apache 2.4.10
  • Sendmail 8.14.4

提前致谢。

【问题讨论】:

    标签: php email ssl


    【解决方案1】:

    我发现了问题。邮件服务器与网站服务器不同,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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-30
      • 2022-10-08
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      相关资源
      最近更新 更多