PHPMailer only sends emails when SMTPDebug = true

I am using PHPmailer. It works when $ mail-> SMTPDebug = true; but when I delete this line, it silently fails. I speak quietly, as he does not make any mistakes, and yet the letter is not delivered.

$mail = new PHPMailer; $mail->SMTPDebug = true; $mail->SMTPAuth = true; $mail->CharSet = 'utf-8'; $mail->SMTPSecure = 'ssl'; $mail->Host = 'smtp.gmail.com'; $mail->Port = '465'; $mail->Username = ' xxxxx@gmail.com '; $mail->Password = 'xxxxx'; $mail->Mailer = 'smtp'; $mail->AddReplyTo(' support@xxxxx.com ', 'xxxxx Support'); $mail->From = ' xxxxx@gmail.com '; $mail->FromName = 'xxxxx Applications'; $mail->Sender = 'xxxxx Applications'; $mail->Priority = 3; //To us $mail->AddAddress(' xxxxx@xxxxx.com ', 'xxxxx xxxxx'); //To Applicant $mail->AddAddress($email, $first_name.''.$last_name); $mail->IsHTML(true); $last_4_digits = substr($card_num, -4); //build email contents $mail->Subject = 'Application From '.$first_name.' '.$last_name; $mail->Body = $body_html; $mail->AltBody = $body_text; if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; exit; } 
+6
source share
1 answer

By setting

  $mail->SMTPDebug = false; 

instead of deleting the line completely, it works every time.

+12
source

Source: https://habr.com/ru/post/954052/


All Articles