phpmailer kodlardaki hatayı bulabilir misiniz?
herkese merhaba,
buradaki gibi bir kod toparladım. formu post ettiğimde 22 satırda hata var diyor.
( ! ) Fatal error: Uncaught Error: Class 'PHPMailer' not found in C:\wamp64\www\dizin\index.php on line 21
( ! ) Error: Class 'PHPMailer' not found in C:\wamp64\www\dizin\index.php on line 21
böyle hata alıyorum. sebebini bulamadım bir türlü.
$gittiMesaji = " ";
if (isset($_POST["submit"])) {
# SMTP mail gönderimi yapacak olan sınıf yükleniyor.
require 'src/PHPMailer.php';
require 'src/SMTP.php';
# POST ile gelen değişkenler alınıyor.
# alınan değerler yine aynı isimde PHP değişkenlerine aktarılıyor.
$isimsoyisim = $_POST['isimsoyisim'];
$email = $_POST['email'];
$mesaj = $_POST['mesaj'];
# $mail adında bir PHPMailer sınıfı oluşturuluyor.
# bu isimle sınıfa erişilecek.
$mail = new PHPMailer();
# PHPMailer sınıfı içindeki değişkenlere bazı değerler aktarılıyor.
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Host = "smtp.yandex.com";
# Yandex hesabımdaki mail adresimi yazıyorum.
$mail->Username = "mailadresim";
# mail şifremi yazıyorum.
$mail->Password = "mailsifrem";
# mail gönderilirken bu hesaba erişilecek ve bunun üzerinden gönderilecek.
# mail'de görünecek ismi değişken olarak alıyoruz.
$mail->FromName ="$isimsoyisim";
# hangi adresten geldiği de görünecek.
# yine aynı mail adresimizi yazıyoruz.
$mail->SetFrom("mailadresim");
# görünecek adresi yine aynı yazıyoruz.
$mail->AddAddress("mailadresim");
# mail başlığını düzenliyoruz.
# SİTE MESAJI -> Uğur GELİŞKEN gibi bir mesaj formatı oluşturuyorum.
$mail->Subject = "SİTE MESAJI -> $isimsoyisim";
# mail içeriğini değişkenden alıyorum.
$mail->Body = "$mesaj";
# mail gönderme işlemi if döngüsü koşulunda yapılıyor, buna dikkat!
# eğer mail gönderilirse true sonucu verecektir bu işlem.
# bu sayede if döngüsü içine girilecek.
# amacımız ziyaretçiyi durumdan haberdar etmek.
if(!$mail->Send()){
# eğer mail gitmemişse hata kodunu yazdırıyoruz.
# ziyaretçi bu mesajı anlamaz ama geliştirici için önemlidir.
echo "Hata: ".$mail->ErrorInfo;
} else {
# mail gitmişse de kodun en başında bahsetmiş olduğum
# mesaj değişkenine değer atanıyor.
# <br> ile bir alt satıra geçilip, bootstrap stili ile bir <p> etiketi oluşturuluyor.
# yeşil uyarı mesajı ile Sayın Uğur GELİŞKEN, mesajınız gönderildi...
# formatı ile mesajımızı yazdırıyoruz.
$gittiMesaji = "<br><p class='bg-success'>Sayın $isimsoyisim,
mesajınız gönderildi...</p>";
}
}
<!DOCTYPE html>
<html lang="tr">
<head>
<title>İLETİŞİM FORMU</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Bize Yazın</h2>
<form role="form" action="" method="post">
<div class="form-group">
<label>İsim Soyisim</label>
<input type="isimsoyisim" class="form-control" name="isimsoyisim"
placeholder="İsim Soyisim">
</div>
<div class="form-group">
<label>E-Mail</label>
<input type="email" class="form-control" name="email" placeholder="E-Mail">
</div>
<div class="form-group">
<label>Mesaj</label>
<textarea type="mesaj" class="form-control" name="mesaj" placeholder="Mesaj..."></textarea>
</div>
<button type="submit" name="submit" type="submit"
class="btn btn-default">Gönder</button>
</form>
<?php echo "$gittiMesaji"; ?>
</div>
</body>
</html>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Merhaba hocam php mailler zip indirip dizine ekleyin
https://dosya.co/29lyygd22mbx/PHPMailer.zip.html
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
$gittiMesaji = " ";
if (isset($_POST["submit"])) {
$isimsoyisim = $_POST['isimsoyisim'];
$email = $_POST['email'];
$mesaj = $_POST['mesaj'];
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Host = "host";
$mail->Username = "mail";
$mail->Password = "pass";
$mail->FromName ="$isimsoyisim";
$mail->SetFrom("mail");
$mail->AddAddress("mail");
$mail->Subject = "SİTE MESAJI -> $isimsoyisim";
$mail->Body = "$mesaj";
if(!$mail->Send()){
echo "Hata: ".$mail->ErrorInfo;
} else {
$gittiMesaji = "<br><p class='bg-success'>Sayın $isimsoyisim,
mesajınız gönderildi...</p>";
}
}
?>
<html lang="tr">
<head>
<title>İLETİŞİM FORMU</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Bize Yazın</h2>
<form role="form" action="" method="post">
<div class="form-group">
<label>İsim Soyisim</label>
<input type="isimsoyisim" class="form-control" name="isimsoyisim"
placeholder="İsim Soyisim">
</div>
<div class="form-group">
<label>E-Mail</label>
<input type="email" class="form-control" name="email" placeholder="E-Mail">
</div>
<div class="form-group">
<label>Mesaj</label>
<textarea type="mesaj" class="form-control" name="mesaj" placeholder="Mesaj..."></textarea>
</div>
<button type="submit" name="submit" type="submit"
class="btn btn-default">Gönder</button>
</form>
<?php echo "$gittiMesaji"; ?>
</div>
</body>
</html>
dosya dizinini belirtmemişim birkaç düzenleme ile halloldu yardımın için teşekkür ederim @emmir2