SMTP üzerinden PHP’de e-posta göndermek için, PHPMailer
adlı popüler bir kütüphaneyi kullanabilirsiniz. Bu kütüphane, SMTP sunucusu aracılığıyla e-posta göndermenizi sağlar ve ekleri de destekler. İşte, PHPMailer
kullanarak SMTP üzerinden e-posta göndermenin bir örneği:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// SMTP ayarları
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'your_password';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Alıcı ve mesaj bilgileri
$mail->setFrom('[email protected]', 'Your Name');
$mail->addAddress('[email protected]');
$mail->addReplyTo('[email protected]', 'Your Name');
$mail->isHTML(true);
$mail->Subject = 'Test Email';
$mail->Body = 'This is a test email';
// E-postayı gönderme
$mail->send();
echo 'E-posta başarıyla gönderildi.';
} catch (Exception $e) {
echo "E-posta gönderilemedi: {$mail->ErrorInfo}";
}
Yukarıdaki örnekte, PHPMailer
sınıfını kullanarak SMTP üzerinden e-posta gönderiyoruz. Öncelikle, SMTP ayarlarını tanımlıyoruz. isSMTP()
fonksiyonu ile SMTP sunucusuna bağlanacağımızı belirtiyoruz. Daha sonra, SMTP sunucu adresimizi ($mail->Host
), kullanıcı adımızı ($mail->Username
) ve parolamızı ($mail->Password
) belirtiyoruz.
Alıcı ve mesaj bilgileri, $mail
nesnesinin fonksiyonlarına parametre olarak aktarılır. Örneğin, setFrom()
fonksiyonu ile gönderen adresini ve adını belirliyoruz. addAddress()
fonksiyonu ile alıcı adresini belirtiyoruz. Mesajın HTML olduğunu belirtmek için isHTML()
fonksiyonunu kullanıyoruz. Son olarak, send()
fonksiyonu ile e-postayı gönderiyoruz.
PHPMailer
, çeşitli SMTP sunucusu sağlayıcıları için önceden yapılandırılmış ayar dosyaları da sağlar. Örneğin, Gmail hesabınızı kullanarak e-posta göndermek istiyorsanız, SMTPSecure
ayarı olarak PHPMailer::ENCRYPTION_STARTTLS
değerini kullanabilirsiniz. Ancak, SMTP ayarlarınızı kendi sunucunuzun ayarlarına uygun olarak düzenlemeniz gerektiğini unutmayın.
Previous post
PHP Data Objects (PDO)Next post
PHP ile sayfalama