【发布时间】:2015-12-18 02:05:33
【问题描述】:
根据 PHPMailer 提供的示例,我有下面的脚本,
date_default_timezone_set('Etc/UTC');
require './PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "myemail@example.com";
$mail->Password = "********";
$mail->setFrom('myMail@example.com', 'First Last');
$mail->addReplyTo('myEmail@example.com', 'First Last');
$mail->addAddress('toEmail@example.com', 'first last');
$mail->Subject = 'PHPMailer GMail SMTP test';
$mail->Body = "example";
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
即使这与原始示例完全相同,我也无法使其正常工作。
我得到的错误是
警告:stream_socket_enable_crypto():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:/opt/lampp/htdocs/webmail_client_practise/class 中的证书验证失败.smtp.php 在第 344 行 SMTP 错误:无法连接到 SMTP 主机。
注意:我的 php.ini 文件中的 OpenSSL 扩展已经打开。
【问题讨论】: