PHPMailer "SMTP Error: Could not connect to SMTP host. Connection failed" hatası

Yazar: Admin

Kategori: Yazılım

PHPMailer kütüphanesini kullanarak e-posta gönderirken,

SMTP Error: Could not connect to SMTP host. Connection failed. stream_socket_enable_crypto()

şeklinde bir hata mesajı aldığımızda, aşağıda gösterilen yöntemle, SMTPOptions değerini ekleyerek, bu sorunu çözebiliriz:


use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer();

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

$mail->isSMTP();                             
$mail->Host       = 'xxxx.xxxxxxxxxxxxxxxx.com'; // E-posta sunucu adresi
$mail->SMTPAuth   = true;  
$mail->CharSet    = 'UTF-8';                  
$mail->Username   = 'xxxxxx@xxxxxxxxxxxxx.com'; // E-posta sunucu kullanıcı adı
$mail->Password   = 'parola'; // E-posta sunucu parolası
$mail->Port       = 587; // Sunucu port adresi farklılık gösterebilir.

$mail->setFrom('xxxxxx@xxxxxxxxxxxxx.com', 'Gönderen'); // Gönderen
$mail->addAddress('xxxxxx@xxxxxxx.com'); // Alıcı

$mail->isHTML(true);
$mail->Subject = 'E-posta konu başlığı';
$mail->Body    = 'E-posta içeriği';

if (!$mail->send()) {
    echo 'E-posta gönderme hatası: ' . $mail->ErrorInfo;
} 
else {
    echo 'Mesaj gönderildi!';
}