0
votes

I tried to send email from my localhost using my gmail account. I also tried to find answers in the web and even in this website but nothing helped me. I am using XAMPP.

This is the code:

require 'PHPMailer-master/PHPMailerAutoload.php';

$mail = new PHPMailer();         // create a new object
$mail->IsSMTP();                 // enable SMTP
$mail->SMTPDebug = 2;            // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true;          // authentication enabled
$mail->SMTPSecure = 'ssl';       // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;               // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "myUserPass";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}

The full error which I got:

2017-04-03 10:33:15 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 CLIENT -> SERVER: EHLO localhost 2017-04-03 10:33:15 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [46.117.89.127] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2017-04-03 10:33:15 CLIENT -> SERVER: AUTH LOGIN 2017-04-03 10:33:15 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyQGdtYWlsLmNvbQ== 2017-04-03 10:33:15 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyUGFzcw== 2017-04-03 10:33:15 SERVER -> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP Error: Could not authenticate. 2017-04-03 10:33:15 CLIENT -> SERVER: QUIT 2017-04-03 10:33:16 SERVER -> CLIENT: 221 2.0.0 closing connection p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:16 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

I tried to delete that:

$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail

Or changing the port to 25/587 but it did not help. Does someone know how to fix that?

2
set $mail->SMTPDebug = 1 it will give the error no, which will help you to debugDipanwita Kundu
No it won't. $mail->SMTPDebug = 2 shows server side errors, which the OP already did.Synchro
Read the Google links and the troubleshooting guide that the error message links to. Also, search before posting - this has been asked many times before.Synchro
updated code and text formatting for readabilityParfait

2 Answers

1
votes

Assuming that your username and password entered is correct, you need to authorize the external application use of gmail.

Follow the next steps and authorize to make it:

  1. First, go to your Google Account Management page
  2. Under the Connected apps & sites, click Allow less secure apps: ON

In case it does not work, if your gmail account has 2-step verification enabled, use an auto-generated password.

Update:

Although turning Allow less secure apps: ON might solve your problem, it should be taken as a troubleshooting tip and not as the final solution.

0
votes

you should turn off Email protected in your Anti Virut or Firewall