PhPMailler sorunu
Fatal error: Uncaught PHPMailer\PHPMailer\Exception: SMTP Error: Could not connect to SMTP host. in C:\xampp\htdocs\v3\vendor\phpmailer\phpmailer\src\PHPMailer.php:2026
İnternetteki bir çok kaynak yabancıydı araştırdım ama birşey bulamadım türkçeye çevirip denedim birşeyler denedim ama yine nafile
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
$mailbody = '<!DOCTYPE html>
Buraya html tema geliyor';
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = $mail_ayar['host'];
$mail->SMTPAuth = true;
$mail->Username = $mail_ayar['email'];
$mail->Password = $mail_ayar['sifre'];
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 0;
$mail->setFrom($mail_ayar['email'], $cek['title']);
$mail->addAddress($cek['siparis_mail'], $cek['title']);
$mail->addAddress($_POST['email'], $_POST['ad'].' '.$_POST['soyad']);
$mail->isHTML(true);
$mail->Subject = 'Yeni Sipariş';
$mail->Body = $mailbody;
$mail->AltBody = '';
$mail->send();
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
SMTP sunucunuza bağlantı kuramıyorsunuz. Büyük ihtimal host adresinde bir problem var.
SMTP hostunuzun bağlantısını bu siteyi kullanarak test edebilirsiniz.
Ek olarak, try{}catch{}
yapısını kullanarak PHPMailer işlemlerinizde herhangi bir hata aldığınızda PHP tarafında bir hata almadan direk sitenizde hatayı detaylı olarak görüntüleyebilirsiniz.
Örnek bir kullanıma aşağıda yer verdim.
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mailbody = '<!DOCTYPE html>
Buraya html tema geliyor';
$mail = new PHPMailer(true);
try {
$mail = new PHPMailer(true);
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = $mail_ayar['host'];
$mail->SMTPAuth = true;
$mail->Username = $mail_ayar['email'];
$mail->Password = $mail_ayar['sifre'];
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 0;
$mail->setFrom($mail_ayar['email'], $cek['title']);
$mail->addAddress($cek['siparis_mail'], $cek['title']);
$mail->addAddress($_POST['email'], $_POST['ad'].' '.$_POST['soyad']);
$mail->isHTML(true);
$mail->Subject = 'Yeni Sipariş';
$mail->Body = $mailbody;
$mail->AltBody = '';
$mail->send();
} catch (Exception $e) {
echo "Eposta gönderilirken bir hata meydana geldi: {$mail->ErrorInfo}";
}