Linux

SMTP Kullanarak Mail Gönderimi Yapmak

sunucu linux kernel
Share

Bir çok Hosting firmasında olduğu gibi bizim firmamızda da php mail() fonksiyonu kapalı durumdadır. Bu fonksiyonun kapalı tutulmasının nedeni, php mail() fonksiyonunda hiçbir doğrulama olmadan direk olarak mail gönderilebilmesidir. Bu da mailin direkt olarak spam olarak algılanıp gereksiz kutusuna düşmesine neden olur. Fazla gönderimlerde de sunucu ip adresi karalisteye girer.

Şimdi Php üzerinden Smtp bağlantısı yaparak nasıl mail gönderilir göreceğiz. Bunun için PHPMailer kütüphanesini kullanacağız.

PHPMailer kütüphanesini buradan indirebilirsiniz.

class.phpmailer.php, class.smtp.php ve class.pop3.php dosyalarını mail formumuz ile aynı dizine atıyoruz.

Mail formumuzun kodları:


IsSMTP();
$mail->SMTPDebug = 1; // hata ayiklama: 1 = hata ve mesaj, 2 = sadece mesaj
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl'; // Güvenli baglanti icin ssl normal baglanti icin tls
$mail->Host = "mail.siteismi.com"; // Mail sunucusuna ismi
$mail->Port = 465; // Gucenli baglanti icin 465 Normal baglanti icin 587
$mail->IsHTML(true);
$mail->SetLanguage("tr", "phpmailer/language");
$mail->CharSet ="utf-8";
$mail->Username = "[email protected]"; // Mail adresimizin kullanicı adi
$mail->Password = "PASSWORD"; // Mail adresimizin sifresi
$mail->SetFrom("[email protected]", "Isim"); // Mail attigimizda gorulecek ismimiz
$mail->AddAddress("[email protected]"); // Maili gonderecegimiz kisi yani alici
$mail->Subject = "Mesaj Basligi"; // Konu basligi
$mail->Body = "Mesaj icerigi"; // Mailin icerigi
if(!$mail->Send()){
echo "Mailer Error: ".$mail->ErrorInfo;
} else {
echo "Mesaj gonderildi";
}
?>

Doldurulması gereken kısımları kodların arkasında yazdım.

Şimdi ücretsiz mail hizmeti veren Gmail ve Yandex için gereken ayarları görelim.

Yandex Smtp Ayarları:

$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.yandex.com';
$mail->Port = 587;

Gmail Smtp Ayarları:

$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;

Hazır Scriptler İçin Smtp Mail Ayarları:

Gelelim hazır yazılımlar için Smtp ayarlarının nasıl yapılması gerektiğine. Hazır yazılımların bazılarında PHPMailer kütüphanesini bulunur ve arkada çalışır. Admin arayüzünden bu ayarlar yapılır. Örnek olarak bazı yazılımlardaki ayarları aşağıda iletiyorum.

WordPress için WP Mail SMTP eklentisini kurmamız gerekiyor.
Ayarlar > Email bölümünden aşağıdaki ayarları uygulayınız.
From Email: [email protected]
From Name: İsim
Mailer: Send all WordPress emails via SMTP.
SMTP Host: localhost
SMTP Port: 465
Encryption: Use SSL encryption.
Authentication: Yes: Use SMTP authentication.
Username: [email protected]
Password: mailsifresi

vBulletin İçin Smtp Ayarları:
vBulletin Seçenekler > E-Mail ayarları
Buradan Emailleri SMTP-Serveri aracılığı ile gönder seçiyoruz

SMTP-Serveri: mail.siteadresiniz.com
SMTP Portu: 465
SMTP Kullanıcı Adı: [email protected]
SMTP Şifresi: Email adresinizin şifresi
SMTP-Serverine garantili bağlanma: SSL

SMF İçin Smtp Ayarları:
Ayarlara ulaşabilmek için Yönetim Masası > Bakim > E=Posta kısmına giriyoruz.
E-Posta türü: SMTP
SMTP sunucusu: ssl://localhost yada ssl://mail.siteadresiniz.com
SMTP bağlantı noktası: 465
SMTP kullanıcı adı: [email protected]
SMTP şifresi: Email adresinizin şifresi

OpenCart İçin Smtp Ayarları:
Ayarlara ulaşabilmek için System > Settings > Mail kısmına giriyoruz.
Mail Protocol: SMTP
SMTP Host: ssl://localhost yada ssl://mail.siteadresiniz.com
SMTP Username: [email protected]
SMTP Password: Email adresinizin şifresi
SMTP Port: 465

Diğer yazılımlar için de aynı ayarları yaparak Smtp ile mail gönderimi yapabilirsiniz.

Bu makale ni.net.tr’den alıntıdır.