PHPMailer email gönderemiyorum
Merhaba bir projede kullanmak için PHPMailer sınıfı test ediyordum ama bir türlü email gönderemedim. yardımlarınız için şimdiden teşekkürler.
try {
//Server settings
$mail->SMTPDebug = 1; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'smtp.gmail.com'; // Set the SMTP server to send through
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'email'; // SMTP username
$mail->Password = 'şifre'; // SMTP password
$mail->SMTPSecure = "ssl"; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
$mail->Port = 465; // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
//Recipients
$mail->setFrom('email', 'isim');
$mail->addAddress('email', 'isim'); // Add a recipient
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'mail test';
$mail->Body = '<b>Test</b>';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
<?php
// PHPMailer ile çoklu mail gönderme işlemi yapan sınıf
require_once 'class.phpmailer.php'; // PHPMailer sınıfını dahil ediyoruz
require_once 'class.smtp.php'; // SMTP sınıfını dahil ediyoruz
class Mailer { // Mailer sınıfı oluşturuyoruz
private $mail; // Mailer sınıfı içinde kullanacağımız mail değişkeni
public function __construct() { // Mailer sınıfı oluşturulduğunda çalışacak olan fonksiyon
$this->mail = new PHPMailer(); // Mailer sınıfı içindeki mail değişkenine PHPMailer sınıfını atıyoruz
$this->mail->IsSMTP(); // SMTP kullanacağımızı belirtiyoruz
$this->mail->SMTPAuth = true; // SMTP kullanıcı adı ve şifre ile giriş yapacağımızı belirtiyoruz
$this->mail->SMTPSecure = 'ssl'; // SSL bağlantısı kullanacağımızı belirtiyoruz
$this->mail->Host = 'smtp.gmail.com'; // SMTP sunucusunun adresini belirtiyoruz
$this->mail->Port = 465; // SMTP sunucusunun portunu belirtiyoruz
$this->mail->Username = '[email protected]'; // SMTP kullanıcı adını belirtiyoruz
$this->mail->Password = '************'; // SMTP şifresini belirtiyoruz
$this->mail->SetFrom('[email protected]', 'Gönderen Adı'); // Gönderen adresini ve adını belirtiyoruz
$this->mail->CharSet = 'UTF-8'; // Karakter setini belirtiyoruz
}
public function send($to, $subject, $message) { // Tekil mail gönderme işlemi yapan fonksiyon
$this->mail->Subject = $subject; // Mail konusunu belirtiyoruz
$this->mail->MsgHTML($message); // Mail içeriğini belirtiyoruz
$this->mail->AddAddress($to); // Mail adresini belirtiyoruz
if (!$this->mail->Send()) { // Mail gönderme işlemi başarısız olursa
return false; // false değeri döndürüyoruz
} else { // Mail gönderme işlemi başarılı olursa
return true; // true değeri döndürüyoruz
}
}
public function sendMultiple($to, $subject, $message) { // Çoklu mail gönderme işlemi yapan fonksiyon
$this->mail->Subject = $subject; // Mail konusunu belirtiyoruz
$this->mail->MsgHTML($message); // Mail içeriğini belirtiyoruz
foreach ($to as $address) { // Mail adreslerini döngüye alıyoruz
$this->mail->AddAddress($address); // Mail adresini belirtiyoruz
}
if (!$this->mail->Send()) { // Mail gönderme işlemi başarısız olursa
return false; // false değeri döndürüyoruz
} else { // Mail gönderme işlemi başarılı olursa
return true; // true değeri döndürüyoruz
}
}
}
// Mail gönderme işlemi
$mailer = new Mailer(); // Mailer sınıfını oluşturuyoruz
$to = '[email protected]'; // Tekil mail gönderme işlemi için mail adresi
$subject = 'PHPMailer ile Tekli Mail Gönderme'; // Mail konusu
$message = 'PHPMailer ile tekli mail gönderme işlemi yaptık.'; // Mail içeriği
if ($mailer->send($to, $subject, $message)) { // Tekil mail gönderme işlemi başarılı olursa
echo 'E-posta başarıyla gönderildi.'; // Ekrana mesaj yazdırıyoruz
} else { // Tekil mail gönderme işlemi başarısız olursa
echo 'E-posta gönderilemedi.'; // Ekrana mesaj yazdırıyoruz
}
// Çoklu mail gönderme işlemi
$to = [ // Çoklu mail gönderme işlemi için mail adreslerini diziye atıyoruz
'[email protected]',
'[email protected]',
'[email protected]'
];
$subject = 'PHPMailer ile Çoklu Mail Gönderme';
$message = 'PHPMailer ile çoklu mail gönderme işlemi yaptık.';
if ($mailer->sendMultiple($to, $subject, $message)) {
echo 'E-posta başarıyla gönderildi.';
} else {
echo 'E-posta gönderilemedi.';
}
?>