Php ile Smtp Mail Gönderme (%100 Çalışıyor)

Php ile Smtp Mail Gönderme (%100 Çalışıyor)

Php ile SMTP Mail Gönderme


Türkiye'de ki bir çok Hosting firmasında php mail() fonksiyonu pasif/kapalı durumdadır. Bu özelliğin kapalı olmasının başlıca nedeni, php mail() fonksiyonunda hiçbir doğrulama olmadan direk olarak mail gönderilebilmesidir. Bu da mailin direkt olarak önemsiz/spam olarak algılanıp gereksiz kutusuna düşmesine neden olur. Fazla gönderimlerde de sunucu ip adresi karalisteye girer.

Php üzerinden Smtp bağlantısı yaparak nasıl basitçe mail gönderilir anlatalım. 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 ayıklama: 1 = hata ve mesaj, 2 = sadece mesaj
$mail->SMTPAuth = true; $mail->SMTPSecure = 
$mail->SMTPSecure = 'ssl'; // Güvenli baglanti icin ssl normal baglanti icin tls
$mail->Host = "mail.siteniz.com"; // Mail sunucusuna ismi
$mail->Port = 465; // Güvenli baglanti için 465 Normal baglanti icin 587
$mail->IsHTML(true); $mail->SetLanguage(
$mail->SetLanguage("tr", "phpmailer/language"); $mail->CharSet =
$mail->CharSet ="utf-8"; $mail->Username = 
$mail->Username = "isim@siteniz.com"; // Mail adresimizin kullanicı adi
$mail->Password = "PASSWORD"; // Mail adresimizin sifresi
$mail->SetFrom("isim@siteniz.com", "Isim"); // Mail attigimizda gorulecek ismimiz
$mail->AddAddress("ercanbora@gmail.com"); // Maili gonderecegimiz kisi yani alici
$mail->Subject = "Mesaj Basligi"; // Konu başlığı
$mail->Body = "Mesaj icerigi"; // Mailin içeriği
if(!$mail->Send()){ 
 echo "Mailer Error: ".$mail->ErrorInfo; } 
} else { 
 echo "Mesaj gonderildi"; } }
?>

Doldurulması gereken bilgiler kodların arkasında açıklama olarak yazılmıştır.

Ş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 SMTP Ayarları : 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: isim@siteniz.com From Name: İsim Mailer: Send all WordPress emails via SMTP. SMTP Host: localhost veya sunucu hostname'si girilmelidir. (sunucu hostname'ini hosting sağlayıcı panelinden öğrenebilirsiniz) SMTP Port: 465 Encryption: Use SSL encryption. Authentication: Yes: Use SMTP authentication. Username: isim@siteniz.com 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ı: isim@siteismi.com 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ı: isim@siteismi.com 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: isim@siteismi.com 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.


Yorumlar