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!';
}