<?php
require_once ("PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
//$mail->SMTPSecure = 'tls';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "abc#gmail.com";
$mail->Password = "abcpassword";
$mail->SetFrom("abc#gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("sameone#domain.com");
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>
I got the message:
2015-07-11 08:06:17 CLIENT -> SERVER: EHLO action.ticambodia.org
2015-07-11 08:06:17 CLIENT -> SERVER: AUTH LOGIN
2015-07-11 08:06:17 CLIENT -> SERVER: c29lbmdrYW5lbEBnbWFpbC5jb20=
2015-07-11 08:06:17 CLIENT -> SERVER: a2FuZWxAbjB3 2015-07-11 08:06:17 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 mg19sm5958238oeb.10 - gsmtp
2015-07-11 08:06:17 SMTP Error: Could not authenticate.
2015-07-11 08:06:17 CLIENT -> SERVER: QUIT
2015-07-11 08:06:17 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
anyone,could help to find out what is the problem and how to solve it?
The error is from the Google side. For security reasons, Google Blocks less secure apps from accessing your Mails. But you can turn off this.
Sign in with "abc#gmail.com" from your browser.
Go to Allow less secure apps
Click 'Turn On' Radio button.
Now check. You can able to send E-mails
Related
I am unable to send an email on my local server.
I used following phpmailer code to test mail sending:
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->Port = 587; // SMTP port
$mail->Username = ""; // username
$mail->Password = ""; // password
$mail->SetFrom('', 'Test');
$mail->Subject = "I hope this works!";
$mail->MsgHTML('Blah');
$address = "";
$mail->AddAddress($address, "Test");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
But I get the following error:
2020-07-06 09:20:08 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP y7sm6517117pjy.54 - gsmtp
2020-07-06 09:20:08 CLIENT -> SERVER: EHLO localhost
2020-07-06 09:20:08 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [157.49.67.14]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8
2020-07-06 09:20:08 CLIENT -> SERVER: STARTTLS
2020-07-06 09:20:08 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
SMTP Error: Could not connect to SMTP host.
2020-07-06 09:20:09 CLIENT -> SERVER: QUIT
2020-07-06 09:20:09
2020-07-06 09:20:09
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Please suggest possible solutions.
I have tried to send mail through gmail. I have seen other people solutions but it didn't work for me. What is the problem in my code?
Here is my output error
2017-06-27 13:53:54 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP o131sm2910537wmd.26 - gsmtp
2017-06-27 13:53:54 CLIENT -> SERVER: EHLO localhost
2017-06-27 13:53:54 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [213.55.85.206]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8
2017-06-27 13:53:54 CLIENT -> SERVER: STARTTLS
2017-06-27 13:53:55 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
SMTP Error: Could not connect to SMTP host.
2017-06-27 13:53:55 CLIENT -> SERVER: QUIT
2017-06-27 13:53:55
2017-06-27 13:53:55
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Here is the source code
date_default_timezone_set('Etc/UTC');
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "hajiman00#gmail.com";
$mail->Password = "xxxxxxx";
$mail->setFrom('hajiman00#gmail.com', 'Support From HITD');
$mail->addAddress('hjibril37#gmail.com', 'Hassen Jibril');
$mail->Subject = 'PHPMailer GMail SMTP test';
$mail->msgHTML("MUKERA 123");
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
I want to know where the problem is because I get authentication error.
I already have a few gmail accounts,
I created a new one for my website,
I added a new email in "Account and import" to my old gmail account.
I copied my new email username and password to phpmailer code
include_once('phpmailer/class.phpmailer.php');
include_once('phpmailer/class.smtp.php');
//6nb5Drv;
function sendmail(){
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com"; // specify main and backup server
$mail->Port = 587; // Set the SMTP port i tried and 457
$mail->Username = 'newmail#gmail.com'; // SMTP username
$mail->Password = 'newmailpass'; // SMTP password
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->From = 'from#yahoo.com';
$mail->FromName = 'From';
$mail->AddAddress('to#gmail.com', 'To'); // 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';
}
sendmail();
But I get an authentication error.
What is wrong?
Probably something with the credentials, how do I configure gmail smtp?
Debug report:
2015-12-04 17:56:15 CLIENT -> SERVER: EHLO www.site.co
2015-12-04 17:56:15 CLIENT -> SERVER: STARTTLS 2015-12-04
17:56:15 CLIENT -> SERVER: EHLO www.site.co 2015-12-04
17:56:15 CLIENT -> SERVER: AUTH LOGIN 2015-12-04 17:56:15 CLIENT ->
SERVER: UHJlZGljdG9sb2d5 2015-12-04 17:56:15 CLIENT -> SERVER:
U2dHZlB0VHZUbTZ1SW9ZMi1qTlNCQQ== 2015-12-04 17:56:17 SMTP ERROR:
Password command failed: 435 4.7.8 Error: authentication failed:
UGFzc3dvcmQ6 2015-12-04 17:56:17 SMTP Error: Could not authenticate.
2015-12-04 17:56:17 CLIENT -> SERVER: QUIT 2015-12-04 17:56:17 SMTP
connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Message
could not be sent.Mailer Error: SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
According to this post:
PHPMailer - SMTP ERROR: Password command failed when send mail from my server, in some case, you have to specify google that this is not a suspicious activity and activate some less secure option in your account.
Assuming this is the right password...
I readly feel confused why i test many many example and correct example to send email with php mailer with gmail account but it did not work,here is the error
> 2015-04-21 07:06:50 CLIENT -> SERVER: EHLO www.ariarules.com
2015-04-21 07:06:50 CLIENT -> SERVER: STARTTLS
2015-04-21 07:06:50 CLIENT -> SERVER: EHLO www.ariarules.com
2015-04-21 07:06:50 CLIENT -> SERVER: AUTH LOGIN
2015-04-21 07:06:50 CLIENT -> SERVER:
2015-04-21 07:06:52 SMTP ERROR: Username command failed:
535 Incorrect authentication data
2015-04-21 07:06:52 SMTP Error: Could not authenticate.
2015-04-21 07:06:52 CLIENT -> SERVER: QUIT
2015-04-21 07:06:52 SMTP connect() failed.
Mailer Error: SMTP connect() failed.
and my code
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; // or 587
$mail->IsHTML(true);
$mail->Username = "googleaccount#gmail.com";
$mail->Password = "pass";
$mail->SetFrom("user#gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("user#gmail.com");
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
at end it's better to know i test tls & ssl with port 465 & 587 but....
enable "Access for less secure apps" :
https://www.google.com/settings/security/lesssecureapps
gmail does not allow to send emails from less secured applications. there is an option 'access for less secured apps' in google account settings. turn that on and you will be able to send emails.
i was facing same issue some days before . i found this solution , may be it works for you.Pass your values like this. its strange but worked for me.
$username="googleaccount#gmail.com";
$password="pass":
$mail->Username = $username;
$mail->Password = $password;
I would like to send an email using Gmail SMTP server through PHP Mailer.
I am running Zend Server Community Edition in my machine.
Following is my code (edited to hide certain confidential information).
require_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$body = "test msg";
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = "587";
$mail->Username = "<valid-id>";
$mail->Password = "<valid-password>";
$mail->SetFrom('a#b.c', 'Name');
$mail->AddReplyTo("a#b.c","Name");
$mail->Subject = "subject";
$mail->MsgHTML($body);
$address = "d#e.f";
$mail->AddAddress($address, "halo:);
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message sent!";
}
Despite following thoroughly the example from PHP Mailer wiki page, I somehow couldn't manage to send the email accordingly.
This is the error message generated by the function:
SMTP -> ERROR: Failed to connect to server: A connection attempt
failed because the connected party did not properly respond after a
period of time, or established connection failed because connected
host has failed to respond. (10060) The following From address failed:
a#b.c Mailer Error: The following From address failed: a#b.c
Please advise me regarding this matter. Thank you.
have you tried:
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = "465";
I have changed in your code my emails, my smtp user, my settings ^^^, password and the line:
$mail->AddAddress($address, "Mihai"); // you forgot a quote
used PHPMailer5.2.1 and result:
SMTP -> FROM SERVER:220 mx.google.com ESMTP gq2sm2073759bkc.13
SMTP -> FROM SERVER: 250-mx.google.com at your service, [***.***.***.***] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH 250 ENHANCEDSTATUSCODES
SMTP -> FROM SERVER:250 2.1.0 OK gq2sm2073759bkc.13
SMTP -> FROM SERVER:250 2.1.5 OK gq2sm2073759bkc.13
SMTP -> FROM SERVER:354 Go ahead gq2sm2073759bkc.13
SMTP -> FROM SERVER:250 2.0.0 OK 1345113839 gq2sm2073759bkc.13
Message sent!
Mail received:
X-Mailer: PHPMailer 5.2.1 (http://code.google.com/a/apache-extras.org/p/phpmailer/)