使用类似于下面的代码:在服务器端,我收到一个错误,似乎暗示它正在尝试使用证书而不是我提供的用户/密码(也在下面)。其他人看到了,您知道了吗?我已经尝试使用Google搜索错误,但似乎只得到了一些无关的结果。 Linux / PHP7.2.5(在PHP5.4.20上也失败),但在Windows / PHP7下似乎可以正常工作]
来自mail.XXXXXX.com [xxx.xxx.xxx.xxx]的SSL_accept错误:0警告:TLS库问题:20353:错误:14094418:SSL例程:SSL3_READ_BYTES:tlsv1警报未知ca:s3_pkt.c:1293:SSL警报编号48:
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl://mail.example.com";
$username = "smtp_username";
$password = "smtp_password";
$port = 465;
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => 'PLAIN',
'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>");
}
?>
错误消息的相关部分是
未知的ca
这意味着“证书由未知的证书颁发机构签名”。
检查根CA列表是否在计算机上是最新的。