apache - 如何在测试开发服务器上使用 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. 如果没有,您的策略是在主机文件中包含域的测试服务器上使用功能电子邮件?
谢谢,
大卫
解决方案
我在负责 smtp 连接的函数中添加了以下内容。警告,仅用于完全安全的环境,您自己的测试服务器,切勿在实时服务器上使用。
$options["ssl"]=array("verify_peer"=>false,"verify_peer_name"=>false,"allow_self_signed"=>true);
推荐阅读
- javascript - JavaScript计算的日期在周末登陆,如何更改为下周一
- angular - 如何从数据库列中读取文件路径并使用角度显示内容
- c - 如何“重建”腐烂的**char?
- amazon-s3 - 如何限制公共访问
- javascript - 当请求和响应在 express 中作为参数交换时,为什么代码不起作用?
- arrays - 如果 response.data 是对象而不是数组,我该如何返回?地图不适用于我下面的代码
- discord.net - Discord.net 如何处理 Auditlog.data
- apache-kafka - Kafka:代理可能无法通过 CLI 使用
- xamarin.forms - 在 CollectionView 的空组中插入标签
- javascript - -webkit-filter: blur() 不起作用 vue js