【发布时间】:2020-12-14 15:18:11
【问题描述】:
我遵循了关于如何使用 PHPMailer 发送电子邮件的 yt 教程。这样做之后,我得到了下面的代码,但它对我不起作用。我没有收到任何错误消息,也没有收到任何电子邮件。这可能是什么原因?我错过了什么吗?我使用 XAMPP 作为本地服务器来运行我的代码。
require_once ('PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = '465';
$mail->isHTML();
$mail->Username = 'sender@gmail.com';
$mail->Password = 'password';
$mail->SetFrom('no-reply@example.com');
$mail->Subject = 'Hello World';
$mail->Body = 'A test email!';
$mail->AddAddress('reciever@gmail.com');
$mail->Send();
【问题讨论】:
-
看起来那个教程已经过时了,你没有调试输出也没有错误检查/报告,所以你不知道发生了什么。 PHPMailer 提供的示例将为您提供更好的起点。
-
我建议您使用 PHPMailer 提供的 gmail 和 contact form 示例重新开始。如果您遇到问题,请阅读the troubleshooting guide。如果您是 PHP 开发新手,那么您能做的最好的事情就是学习如何使用 Composer。
-
@Synchro 所以我尝试了一些新的东西并收到错误消息“SMTP connect() failed”。我找到了这个github.com/PHPMailer/PHPMailer/wiki/… 并想尝试一下。但是我不明白我应该对句子 Insert code 下面的代码行做什么。你知道该怎么做吗?
-
忽略该代码。这是错误的建议。您已经可以从外部在 OAuth 客户端上设置选项,无需更改任何 PHPMailer 代码。此外,这与“connect() failed`”错误无关,因为这将在验证之前发生。请遵循指南中的建议,以便您了解正在发生的事情。