我让PHPMailer通过Gmail工作。我已经给自己发了一封电子邮件,以测试它是否正常工作,确实如此。用户在index.php上提交注册表单(非常基本的设置),然后触发发送电子邮件。
我的问题是,在提交表单之后,它会向页面“回显”它正在经历的过程:要理解它,这是开始(3000个字符,所以我只包括一点):< / p>
2017-03-01 21:25:36 Connection: opening to smtp.gmail.com:587, timeout=300, options=array ( ) 2017-03-01 21:25:36 Connection: opened 2017-03-01 21:25:36 SERVER -> CLIENT: 220 smtp.gmail.com ...
直接显示在页面上。我确信通过在成功时重定向到另一个页面可以绕过它,但是首先不能将所有信息打印到页面上要容易得多。我已经测试了我的代码,它肯定是触发它的$mail->send();
命令。
这是我用来调用PHPMailer的代码(它位于<?php
和?>
标签内。
require_once "phpmailer/PHPMailerAutoload.php";
$mail = new PHPMailer;
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = "myemailaddress@gmail.com";
$mail->Password = "mypassword";
$mail->SMTPSecure = "tls";
$mail->Port = 587;
$mail->From = "myemailaddress@gmail.com";
$mail->FromName = "my name";
[![enter image description here][1]][1]
$mail->addAddress("towhoever@gmail.com", "their name");
$mail->isHTML(true);
$mail->Subject = "Testing email for phpmailer";
$mail->Body = "<i>Mail body in HTML</i>. It worked!";
$mail->AltBody = "This is the plain text version of the email content. Also, it worked!";
if($mail->send())
{
echo "Message has been sent successfully";
}
else
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
混杂。系统信息,如果有帮助:我在Windows 10上使用XAMPP,在localhost中运行。我已连接到我的Gmail帐户。
答案 0 :(得分:2)
PhpMailer可以选择调试。
$mail->SMTPDebug // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
评论$ mail-&gt; SMTPDebug = 3;在代码中。
答案 1 :(得分:0)
$ mail-> SMTPDebug = 0; //所有功能正常工作后,将其设置为0;