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();
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}";
}