İçerikler


    Php ile Smtp Mail Göndermek

    58558

    24.09.2014 00:09

    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 = "isim@siteismi.com"; // Mail adresimizin kullanicı adi
    $mail->Password = "PASSWORD"; // Mail adresimizin sifresi
    $mail->SetFrom("isim@siteismi.com", "Isim"); // Mail attigimizda gorulecek ismimiz
    $mail->AddAddress("ahmetmakal@msn.com"); // 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: isim@siteismi.com From Name: İsim Mailer: Send all WordPress emails via SMTP. SMTP Host: localhost veya sunucu hostname'si girilmelidir. (sunucu hostname'sini tarafımızdan öğrenebilirsiniz) SMTP Port: 465 Encryption: Use SSL encryption. Authentication: Yes: Use SMTP authentication. Username: isim@siteismi.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

    taylan 19.11.2014 16:11

    wordpress eklenti eklemeden el ile smtp ayarını girmek istiyorum ben , bu soru hakkında bilginiz var mı ?

    Hasan 10.01.2015 09:01

    Kim takar seni?

    taylan 11.01.2015 15:01

    Sevgili Hasan bey,
    Yorum bölümünden gerekli soruyu sordum ben ,cevaplarlarsa ne ala, cevaplamak zorunda değiller.

    Ottoman 14.03.2015 00:03

    Sana takacak biri mi lazım densiz herif?

    Destan 06.05.2015 10:05

    benim anlamadığım olay mesaj içerğini iletişim formundan kendisi post etmeyecek mi?Burdan gönderilen mail bana gelecek o zaman ben ne isterim gönderenin mail adresi ve mesajın içeriğini göreyim. $mail->Subject = "Mesaj Basligi"; // Konu basligi$mail->Body = "Mesaj icerigi"; // Mailin icerigi burada bakınca kodlara mesaj içeriği diye yazılmış kendime içeriğini kendim yazdığım mesajımı gönderiyorum yani

    AaA 06.05.2015 17:05

    Süper Cevap olmuş

    Barman 06.05.2015 23:05

    Yandex Kurumsal Mail Kullanıyorum.
    Sürekli bu hatayı alıyorum.
    SMTP -> ERROR: Password not accepted from server: 535 Incorrect authentication data
    SMTP Error: Could not authenticate. Mailer Error: SMTP Error: Could not authenticate.

    Tolga Ünlü 10.07.2015 15:07

    Teşekkürler

    Ali Özgür Gündoğdu 15.07.2015 07:07

    arkadaşlar ben yandex in kurum mailini kullanıyorum php 4.7 kullanıyorum serverimde.. ama bir türlü smtp verify yi başaramadım.. bana yardımcı olurmusunuz? teşekkürler

    Ali Özgür Gündoğdu 15.07.2015 08:07

    barman selam çözümü buldunmu? bana ulaşırmısın

    Mehmet ÜNAL 04.09.2015 05:09

    Merhaba Hocam,

    Haşim Arslan 28.09.2015 14:09

    Elinize sağlık öncelikle, program çalışıyor, denedim hemen. Yalnız ben kullanıcıdan bir form doldurmasını istiyorum. Doldurup göndere tıklayınca bana düşmesi gerekiyor. O tabloyu nasıl buraya koyabilirim

    Murat Albayrak 02.05.2016 06:05

    Anlamayan arkadaşlar için bu link daha açıklayıcı olabilir. http://goo.gl/Z9hTGc

    Ömeri Mansur 18.07.2016 17:07

    merhabalar;

    ePvpServerler 07.08.2016 07:08

    Merhabalar,

    Fevzi TEMİZ 26.08.2016 08:08

    Merhaba, yazdığım uygulamada çok güzel çalışıyor ancak bu eklenti ile gönderdiğim emaillerin okkundu veya teslim bilgisini alamazmıyım?

    ŞAH MAİL CİHAN 30.05.2018 16:05

    kardeş ordan ebgellediler niye anlamadımda tw versem veya skype varsa verde konuşak kuramadım bana yardımcı olabilirmisin.kenansahmail@gmail.com

    ŞAH MAİL CİHAN 30.05.2018 20:05

    kardeş yazıyorum siliyorlar veya engelliyorlar ney varsa

    ŞAH MAİL CİHAN 30.05.2018 20:05

    nasıl ulaşabilirim sana

    ŞAH MAİL CİHAN 30.05.2018 20:05

    kenansahmail@gmail

    ŞAH MAİL CİHAN 30.05.2018 20:05

    kenansahmail@gmail.c.o.m. aradaki boşlukları silsen adamlar banlıyorlarmı ney

    harbiadam 08.12.2016 21:12

    Warning: stream_socket_enable_crypto(): Peer certificate CN=`web5.hosting.com.tr' did not match expected CN=`mail.harbiadam.com' in /home/harbiada/public_html/html/yorumphp/class.smtp.php on line 197

    arduino coder 13.12.2016 20:12

    Merhaba, yandex maili local(xampp) sunucumda hiç sorun yaşamadan kullanıyorum. Ama Centos makineme atınca mailler giderken çok uzun sürüyor ve sayfa http 500 e düşüyor. Mailler gitmesi gereken yere ulaşıyor ama contact sayfaya geri dönmesi gerekmekte. smtp testi yaptırdırm sonuç: "Warning on Connection time" ve "Not good! on Transaction Time" ne kadar araştırdıysam çözüm bulamadım. Server taraflı yapılması gerekli bir ayar var mıdır yada bildiğiniz bir çözüm ???

    SiberFilm İzle 14.03.2017 17:03

    Merhaba arkadaşlar, SMTP den mail göndermek için websitemde şu kodu kullanıyorum. Fakat ADDAddress yazan yerin karşısına aşağıdaki gibi mail adresi yazdığımda mail gönderiliyor ama benim istediğim formu dolduran kişinin mail adresine otomatik gitmesi... Bunu nasıl yapacağız... Yani ben oraya her üyenin mail adresini yazamam. Formu dolduran kim ise onun mail adresine gitmeli.. Bu nasıl oalcak.. Teşekkürler...

    mehmet 28.04.2017 17:04

    beyler smpt mail gonderme degisti bu sekilde bu dosyanında aynı dizinde olması gerekiyor ve sayfaya bunu dahil ediceksiniz artık


    Yorum Ekleyin

    E-Bülten Aboneliği

    E-Bültenimize kayıt olun, indirimlerden ve fırsatlardan önce siz haberdar olun..