Hi Admin,
I am unable to send email from phpmailer using gmail smtp. I am not getting debug messages also. below is my code. please help.
require 'phpmailer/PHPMailerAutoload.php';
$mail=new PHPMailer;
$mail->isSMTP();
$Mail->SMTPDebug = 4;
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->SMTPAuth=true;
$mail->SMTPSecure='tls';
$mail->Username='******@gmail.com';
$mail->Password='********';
$mail->setFrom('******@gmail.com','Pipelines CP Portal');
$mail->addAddress($email);
$mail->addReplyTo('******@gmail.com');
$mail->isHTML(true);
$mail->Subject='Verification Mail';
$mail->Body=$mail_cont;
$mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
//...later
if(!$mail->send()){
echo ''Mail not sent";
}
else{
echo 'Mail sent';
}
should be
if(!$mail->send()){
echo "Mail not sent";
}
else{
echo 'Mail sent';
}
Two quotes are different than double quote, meaning ''
!= "
1 Like
Hi,
here is my updated code,
function smtp_mailer($email, $mail_cont)
{
require 'phpmailer/PHPMailerAutoload.php';
$mail=new PHPMailer;
$mail->isSMTP();
$Mail->SMTPDebug = 4;
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->SMTPAuth=true;
$mail->SMTPSecure='tls';
$mail->Username='*******@gmail.com';
$mail->Password='*********';
$mail->setFrom('*******@gmail.com','Pipelines CP Portal');
$mail->addAddress($email);
$mail->addReplyTo('*******@gmail.com');
$mail->isHTML(true);
$mail->Subject='Verification Mail';
$mail->Body=$mail_cont;
//$mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
//...later
if(!$mail->send()){
echo 'Unable to send mail. '. $mail->ErrorInfo;
}
else{
echo 'Mail sent';
}
}
I am only receiving smtp connect error. No details.
I have allowed less secure apps on gmail also.
same code successfully in localhost on my pc.
same code successfully sends mail in localhost on my pc.
Admin
June 1, 2020, 9:36am
7
Please check your browsers Network tab to see the response code of the page. If it says status code 500, it means your code crashed and you need to debug it:
When trying to access your website, you may see a page which returns the status code â500â. In Google Chrome, youâll see a page with the error code HTTP ERROR 500. There are typically two reasons which can cause this error: The PHP code has...
Also, âworks on my machineâ doesnât really give us anything to check. Could you share the URL to the contact page?
Finally, if youâre looking to setup a contact form, you may also want to use our example form for this instead of trying to cobble something yourself:
2 Likes
Hi Admin,
there is no 500 error.
I have tried 2 different smtp services . I can send mail from both in localhost but not from infinity free hosting site.
link to my page http://opsteam.rf.gd on this page below links are there
click Gmail and click SendinBlue
after clicking on link following error is shown on page
âMessage could not be sent due to SMTP connect() failed. Troubleshooting ¡ PHPMailer/PHPMailer Wiki ¡ GitHub â
and in network tab below error is shown
âCross-Origin Read Blocking (CORB) blocked cross-origin response https://infinityfree.net/errors/404/ with MIME type text/html. See Chrome Platform Status for more details.â
I have set debug to 4 but no error other error messages are shown.
on click below php file opens
<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail=new PHPMailer;
$mail->isSMTP();
$Mail->SMTPDebug = 4;
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->SMTPAuth=true;
$mail->SMTPSecure='tls';
$mail->Username='[email protected] ';
$mail->Password='********';
$mail->setFrom('[email protected] ','Great Guys');
$mail->addAddress('[email protected] ');
$mail->addReplyTo('[email protected] ');
$mail->isHTML(true);
$mail->Subject='Login Mail';
$mail->Body='<h2>Hello Boss gmail</h2>';
if(!$mail->send()){
echo 'Message could not be sent due to '.$mail->ErrorInfo;
}
else{
echo 'Message sent successfully from gmail';
}
?>
Please guide
Admin
June 1, 2020, 4:52pm
9
Could you please change that second line to $mail->SMTPDebug = 4
? PHP variables are case sensitive, which means youâre trying to set the debug property on a non-existent object.
1 Like
<?php
//main configs
use PHPMailer\PHPMailer\PHPMailer;
require 'path/to/composer/vendor/autoload.php';
//PHPMailer call
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 4;
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected] ';
$mail->Password = '***********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587; //verify this port
//sender and reply config
$mail->setFrom('[email protected] ', 'Great Guys');
$mail->addReplyTo('[email protected] ', 'add a name if wanted');
$mail->addAddress('[email protected] ');
$mail->isHTML(true);
$mail->Subject = "Login Mail";
//$mail->addEmbeddedImage('path/to/image_file.jpg', 'image_cid');
$mail->Body = '<h2>Hello Boss gmail</H2>';
//sending config
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
echo 'Message has been sent';
}
?>
This code snippet is incomplete.
@anon19508339 , yeh did with haste my mistake, after your edit decided to check it out withan editor, alas found another, but can confirm now its bug free
Admin
June 2, 2020, 9:02am
13
Can you please set the SMTPDebug
property on the $mail
object to level 4? Weâre trying to figure out why the SMTP connection doesnât work, and it would help a lot to have debug logging. In your latest code snippet, I donât see the debug flag at all.
4 Likes
plus $mail=new PHPMailer;
is missing, it means PHP cannot execute and get data from an undefined variable named $mail
3 Likes
Admin:
$mail
object to level 4
4 very low not very good for debuging in my opinion,
3 really ojust also includes connection issues
2 is best my opinion, as you get the main bugs from the client outputs and the server responces without all the extra clutter
but edited as requested
system
Closed
June 17, 2020, 9:32am
16
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.