【问题标题】:How do I use SMTP on a test development server?如何在测试开发服务器上使用 SMTP?
【发布时间】:2018-10-12 03:32:07
【问题描述】:

我正在使用自签名 SSL 的本地 Windows 7 pro (Apache/php) 测试服务器上构建电子商务网站。我将主机文件中的 mydomain.com 重定向到 localhost - 到目前为止一切顺利。

当我尝试通过 Gmail smtp 使用电子商务软件的电子邮件功能时,我收到 SSL 错误:

[23-Apr-2018 03:00:06 America/New_York] Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed [C:\Apache24\htdocs\includes\classes\vendors\PHPMailer\class.smtp.php line 379]
[23-Apr-2018 03:00:06 America/New_York] SMTP Error: Could not connect to SMTP host.
[23-Apr-2018 03:00:06 America/New_York] CLIENT -> SERVER: QUIT

我想买一个便宜的 CA SSL 并将其安装在服务器上,但我不确定这是否可行,因为 Gmail smtp 服务器显然没有使用我的主机文件。这只是目前的猜测。

我想回答的问题是,1,安装 CA 证书是否可以解决问题,以及 2. 如果没有,您的策略是在主机文件中包含域的测试服务器上使用功能电子邮件?

谢谢,

大卫

【问题讨论】:

  • 触发此错误的具体操作是什么?
  • 这是 smtp 连接脚本。通过将veryfy_peer设置为false来解决它,因为它是一个测试服务器。

标签: apache email ssl dns smtp


【解决方案1】:

我在负责 smtp 连接的函数中添加了以下内容。警告,只能在完全安全的环境中使用,即您自己的测试服务器,切勿在实时服务器上使用。

$options["ssl"]=array("verify_peer"=>false,"verify_peer_name"=>false,"allow_self_signed"=>true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多