Error in Phpmalier class

Asked

Viewed 23 times

1

I would like your help! Have the following class to send emails in php:

<?php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load composer's autoloader
require 'PHPMailer/vendor/autoload.php';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = '[email protected]';                 // SMTP username
    $mail->Password = 'MinhSenha';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Joe User');     // Add a recipient


    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

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

But I’m getting the following exception:

inserir a descrição da imagem aqui

Does anyone know what this is about? If it is an internal error here in the network, if the informed port is incorrect or blocked? I’m on it all afternoon and I can’t fix it!!

  • Explain to me where this autoload.php file came from 'PHPMailer/vendor/autoload.php';

  • this php autoload, it’s simple: open cmd, navigate to a folder, then put this: Composer require phpmailer/phpmailer it will generate an autoload. If you cannot run, install Composer on your computer and try again. Good luck! Link: https://packagist.org/packages/phpmailer/phpmailer

1 answer

0

I managed to settle by placing the following item:

$mail->SMTPOptions = array ( 
        'ssl' => array ( 
        'verify_peer' => false, 
        'verify_peer_name' => false, 
        'allow_self_signed' => true));

Thank you very much

Browser other questions tagged

You are not signed in. Login or sign up in order to post.