Sandy
Sandy

Reputation: 3

Problem with PHPMailer.Failed to connect to server?

I'm rookie in PHP. I connected PHPMailer. I was training send an email, but I got error

My code

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require ("vendor/autoload.php");

$mail = new PHPMailer(true);
try {
    //Server settings
    $mail->SMTPDebug = 2;

    $mail->isSMTP();
    $mail->Host = 'localhost';
    $mail->SMTPAuth = true;
    $mail->Username = ''; -The mail I'm trying to send an email to
    $mail->Password = ''; - password of this email
    $mail->SMTPSecure = 'ssl';
    $mail->Port = 465;

    $mail->setFrom('', 'admin'); The mail I'm trying to send an email to
    $mail->addAddress('', 'Recipient'); -recipient
    $mail->isHTML(true);
    $mail->Subject = 'Test Mail Subject!';
    $mail->Body    = 'This is SMTP Email Test';

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

I want to say in advance that this mail is not secure. I also tried change STMPSECURE(tls)

I got

SMTP ERROR: Failed to connect to server: Connection refused (111)

Upvotes: 0

Views: 2675

Answers (1)

Sofyan Thayf
Sofyan Thayf

Reputation: 1328

You must have an account on a SMTP server, for example: smtp.googlemail.com (and easiest to get), so you can set like this:

$mail->Host = 'smtp.googlemail.com';
$mail->SMTPAuth = true;
$mail->Username = 'YOUR_GOOGLE_USERNAME';  // NOT email address to send to
$mail->Password = 'YOUR_GOOGLE_PASSWORD';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

Upvotes: 1

Related Questions