首页 > 解决方案 > 如何在测试开发服务器上使用 SMTP?

问题描述

我正在使用自签名 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. 如果没有,您的策略是在主机文件中包含域的测试服务器上使用功能电子邮件?

谢谢,

大卫

标签: apacheemailssldnssmtp

解决方案


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

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

推荐阅读