PHPMailer ile Gmail SMTP üzerinden mail göndermek

PHPMailer, smtp üzerinden mail göndermek için kullanılan bir PHP kütüphanesidir. PHPMailer açık kaynak olup geliştirilebilir. PHPMailer ile Gmail SMTP üzerinden mail gönderebilirsiniz. Bunun için PHPMailer kütüphanesi ve bir Gmail hesabı gerekmektedir.

PHPMailer kütüphanesini kurmak için GitHub üzerinden indirin. Google hesap güvenlik ayarları sayfasına gidin ve “Daha az güvenli uygulamalara izin ver” seçeneğini “AÇIK” olarak işaretleyin. Kurum işlemini tamamlamak için aşağıdaki kodu kullanın.

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

include_once("PHPMailer-master/src/PHPMailer.php");
include_once("PHPMailer-master/src/SMTP.php");
include_once("PHPMailer-master/src/Exception.php");

// Değişkenler
$sendername = "Gönderen İsim";
$recipientmail = "Alıcı mail adresi";
$recipientname = "Alıcı İsim"; // İsteğe bağlı
$host = "smtp.gmail.com";
$username = "Gmail adresiniz"; // [email protected]
$password = "Gmail parolanız";
$port = 465;
$authenticate = true;
$secure = PHPMailer::ENCRYPTION_SMTPS;

$mail = new PHPMailer(true);

// Sunucu ayarları
$mail->isSMTP();
$mail->Host = $host;
$mail->Username = $username;
$mail->Password = $password;
$mail->Port = $port;
$mail->SMTPAuth = $authenticate;
$mail->SMTPSecure = $secure;

// Alıcılar
$mail->setFrom($username,$sendername);
$mail->addAddress($recipientmail,$recipientname);
// $mail->addReplyTo('[email protected]','Information'); // İsteğe bağlı
// $mail->addCC('[email protected]'); // İsteğe bağlı
// $mail->addBCC('[email protected]'); // İsteğe bağlı

// Ekler
// $mail->addAttachment("text.txt"); // Ek ekle
// $mail->addAttachment("text.txt","dosya isim"); // İsim istege bağlı

// İçerik
$mail->isHTML(true);
$mail->CharSet = PHPMailer::CHARSET_UTF8;
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if($mail->send()){
echo('Mesaj iletildi.');
}else{
echo("Mesaj iletilemedi. Mailer Error: {$mail->ErrorInfo}");
}
?>