phpmailerphp-7.0

PHP mailer throws error in php 7 when tried send mail


I'm trying to send mail using PHP Mailer but I'm getting an error. Kindly check my code let me know the fix.

Here is my code:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';

$mail = new PHPMailer;

try {
    //Server settings
   $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'xxxxxxxxxxxx ';
    $mail->Password = 'xxxxxxxxx';
    //$mail->SMTPSecure = 'tls';                          // Enable TLS encryption, `ssl` also accepted
    $mail->SMTPSecure = 'ssl';                          // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 465;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('xxxxxxx', 'shiva');

    $mail->addAddress('siva.sing.sivan@gmail.com', 'SP');     // Add a recipient
    $mail->addAddress('senthil.mca2008@gmail.com', 'SK');     // Add a recipient
    //\\$mail->addAddress('ellen@example.com');               // Name is optional
    $mail->addReplyTo('opensourcesivaprakash@gmail.com', 'Information');


    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Test mail form SP';
    $mail->Body    = 'This is the HTML message  <b>From SP!</b>';
    $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;
    }else{
        echo 'Message has been sent';
    }


} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
?>

My Error: Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Please correct my code to fix the issue.


Solution

  • Hey @shiva use this $mail->SMTPSecure = 'tls' and use port as $mail->Port = 587 that's it!

    Tell me it worked for you, if not then make sure to enable "Less Secure Apps" in your account settings, Thanks!

    Let me know it worked for you or not?