我会在PHP中使用SMTP发送电子邮件。我使用的是Gmail SMTP。
我的代码:
<?php
require 'PHPMailer_5.2.0/class.phpmailer.php';
$mail = new PHPMailer;
$mail->IsSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup server
$mail->Port = 587; // Set the SMTP port
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'egenthiers.80@gmail.com'; // SMTP username
$mail->Password = 'XXXX'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = 'egenthiers.80@gmail.com';
$mail->FromName = 'Egen Can';
$mail->AddAddress('egenthiers.63@gmail.com', 'Egen Can'); // Add a recipient
$mail->IsHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <strong>in bold!</strong>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->Send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}
echo 'Message has been sent';
?>
运行此代码时。我收到此错误:
警告:stream_socket_enable_crypto():SSL操作失败,代码 1. OpenSSL错误消息:错误:14090086:SSL例程:ssl3_get_server_certificate:证书验证失败 C:\ xampp \ htdocs \ xxx \ PHPMailer_5.2.0 \ class.smtp.php在线 200语言字符串加载失败:tls消息无法 Mailer错误:无法加载语言字符串:TLS SMTP服务器 错误:
我该如何解决这个问题?
我需要你的帮助。
答案 0 :(得分:0)
错误1:
require 'PHPMailer_5.2.0/class.phpmailer.php';
您使用的是非常老版本的PHPMailer,该版本存在错误,并且存在许多安全漏洞。 Upgrade immediately。
错误2:
OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:
certificate verify failed
不是searching for this error message意味着您还没有找到解决这个确切问题的许多答案和documentation。
文档对此进行了广泛介绍。服务器的CA证书包很可能已过时(特别是考虑到您使用的是旧版本的PHPMailer,并且您的代码基于一个非常旧的示例)。