我一直在尝试通过 GMail在 WAMP 上使用 Pear 发送电子邮件,在花了几个小时进行设置并找出我遇到的所有错误之后,我以为我已经很接近了,直到我开始得到这个错误:
Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to connect socket: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (code: -1, response: )]
使用此代码:
<?php require_once "info.php"; require_once "Mail.php"; // info.php contains the variable $password
$from = "Me <myemail@gmail.com>";
$to = "Me <myemail@gmail.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "myemail@gmail.com";
$password = "$password";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
我已经extension=php_openssl.dll
在(正确的)php.ini 中查看并取消了注释,并确保extension_dir
指向 DLL。我使用过phpinfo();
并且多次提到 SSL:
我mod_ssl
在Loaded Modules
.
在mysqlnd
标题下它有一个条目SSL: supported
。
在Phar
标题下有 entry Native OpenSSL support: enabled
。
我还关闭了防火墙,只是为了检查,我已经重新启动了我的计算机,并且我已经检查了这个站点上几乎所有像我这样的问题,但我仍然没有找到解决方案。
我不知道下一步该做什么。我需要启用/检查什么才能使其正常工作?