PHPMailer邮件未发送=>许多错误[重复]
Posted
技术标签:
【中文标题】PHPMailer邮件未发送=>许多错误[重复]【英文标题】:PHPMailer mail not sent => Many errors [duplicate] 【发布时间】:2016-09-17 21:41:20 【问题描述】:我想通过 phpMailer 使用 Mail 功能,以便为填写表格的人提供电子邮件确认。
这是我的发送邮件代码 =>
/* some codes with already a phpmyadmin database and a form */
function send_mail($email,$message,$subject) // method called, ignore the param
require_once('mailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; // for ssl
$mail->Username = 'an_email_test_1@gmail.com';
$mail->Password = 'pwd_of_username_just_above';
$mail->SetFrom('an_email_test_1@gmail.com'); // same as ->Username
$mail->Subject = "Test Mail";
$mail->Body = "Hi.";
$mail->AddAddress('an_email_test_2@gmail.com');
if (!$mail->Send())
return 'Mail error:' . $mail->ErrorInfo;
return 'Success, check your mail.';
我得到一个 "SMTP Class not found" 所以我在 require_once('mailer/class.phpmailer.php'); =>
require 'mailer/PHPMailerAutoload.php';
感谢启用了 SMTPDebug,它给了我这个错误 >
2016-05-20 14:27:49 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP h4sm20018967wjz.20 - gsmtp
2016-05-20 14:27:49 CLIENT -> SERVER: EHLO "name_of_my_virtualhost" (I use WAMP3.0.4)
2016-05-20 14:27:49 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [80.215.180.91] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8
2016-05-20 14:27:49 CLIENT -> SERVER: AUTH LOGIN
2016-05-20 14:27:49 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2016-05-20 14:27:49 CLIENT -> SERVER: bG9nYW4ucGV5cnkxQGdtYWlsLmNvbQ== 2016-05-20 14:27:49 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2016-05-20 14:27:49 CLIENT -> SERVER: Y29jaG9uOTM=
2016-05-20 14:27:50 SERVER -> CLIENT: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 h4sm20018967wjz.20 - gsmtp
2016-05-20 14:27:50 SMTP ERROR: Password command failed: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 h4sm20018967wjz.20 - gsmtp
2016-05-20 14:27:50 SMTP Error: Could not authenticate.
2016-05-20 14:27:50 CLIENT -> SERVER: QUIT
2016-05-20 14:27:50 SERVER -> CLIENT: 221 2.0.0 closing connection h4sm20018967wjz.20 - gsmtp
2016-05-20 14:27:50 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
我真的不知道如何解决它,我现在只想发送一封没有任何信息的简单邮件,并为此专门创建了 2 个 gmail 地址。 n°1作为发送者,n°2作为接收者
我应该更改邮件功能中的 apache php.ini 还是其他内容? 谢谢你帮助我:)
【问题讨论】:
如果您阅读错误消息指向您的the troubleshooting guide 或此问题的许多重复项中的任何一个,这将有所帮助。 【参考方案1】:您是否在 PHP 中激活了 php_openssl
扩展
使用菜单做
wampmanager -> PHP -> PHP Extension -> php_openssl
如果此菜单项旁边没有 TICK,请单击 php_openssl
菜单行,它将激活扩展并为您重新启动 Apache,以便看到更改。
您可能还需要在帐户上Allow less secure password
【讨论】:
我检查了 wampmanager 设置并且 php_openssl 已经被标记。此外,多亏了你,我用你的链接更改了我的邮件发件人的帐户安全性,现在我从我的邮件 n°2 收到了我想要的邮件。谢谢你,但是如果错误消息仍然存在 SMTPDebug 是否正常?以上是关于PHPMailer邮件未发送=>许多错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章