Search code examples
phpmailer

Failed to connect to server: Connection refused (111)


I am using PHPMailer to send the smtp emails. If I use the same setting in a WordPress site, it works fine. But my priority is to use in a custom php page. And there, it is giving the following errors

SMTP ERROR: Failed to connect to server: Connection refused (111) SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

My Code is here below

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require 'emails/PHPMailer/PHPMailerAutoload.php';

//Create a new PHPMailer instance
$mail = new PHPMailer;
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 2;
//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';
//Set the hostname of the mail server
$mail->Host = "smtp.gmail.com";
//Set the SMTP port number - likely to be 25, 465 or 587
$mail->Port = 587;
//Whether to use SMTP authentication
$mail->SMTPAuth = true;
//Username to use for SMTP authentication
$mail->Username = "mzubim@gmail.com";
$mail->Password = "password";
//Set who the message is to be sent from
$mail->setFrom('mzubim@gmail.com', 'Zubair Mushtaq');
//Set an alternative reply-to address
$mail->addReplyTo('replyto@gmail.com', 'Secure Developer');
//Set who the message is to be sent to
$mail->addAddress('abulogics@gmail.com', 'Abulogicss');
//Set the subject line
$mail->Subject = 'PHPMailer SMTP test';
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML("convert HTML into a basic plain-text alternative body");
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';

//send the message, check for errors
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

Solution

  • try this its working fine

    <?php
        include "emails/PHPMailer/PHPMailerAutoload.php"; 
    
        //Create a new PHPMailer instance
        $mail = new PHPMailer(); 
    
        $mail->IsSMTP(); 
        $mail->SMTPDebug = 1; 
        $mail->SMTPAuth = true; 
        $mail->SMTPSecure = 'ssl'; 
        $mail->Host = "smtp.gmail.com";
    
        $mail->Port = 465; 
        $mail->IsHTML(true);
        //Username to use for SMTP authentication
        $mail->Username = "@gmail.com";
        $mail->Password = "";
        //Set who the message is to be sent from
        $mail->setFrom('mzubim@gmail.com', 'Zubair Mushtaq');
        //Set an alternative reply-to address
        $mail->addReplyTo('replyto@gmail.com', 'Secure Developer');
        //Set who the message is to be sent to
        $mail->addAddress('abulogics@gmail.com', 'Abulogicss');
        //Set the subject line
        $mail->Subject = 'PHPMailer SMTP test';
        //Read an HTML message body from an external file, convert referenced images to embedded,
        //convert HTML into a basic plain-text alternative body
        $mail->msgHTML("convert HTML into a basic plain-text alternative body");
        //Replace the plain text body with one created manually
        $mail->AltBody = 'This is a plain-text message body';
    
        //send the message, check for errors
        if (!$mail->send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Message sent!";
        }
    

    enter image description here