Php SMTP Mail Gönderme

Php ile proje geliştiren kişilerin sıklıkla ihtiyaç duydukları konuların başında php mail gönderme işlemi gelir. Örneğin iletişim formu, üyelik şifre sıfırlama işlemi, E-bülten, kampanya bilgilendirme sistemi, sipariş sistemi ve takibi gibi bölümlerde mail gönderme uygulaması yapılması gerekebilir.

Bu makale size, ihtiyacınız olduğu alanlarda sorunsuz bir mail gönderim yapabilmenizi olanak sağlayacak bilgi ve birikimleri içerir.

Bu makalede, Php ile Mailler sınıfını kullanarak mail gönderme işlemi nasıl yapılır? bu işin mantığı nedir? ve örnek uygulama dosyamızı sizlere sunacağız.

Php Mail fonksiyonu ile mail gönderme işlemi

Normal şartlarda Php’nin kendi içinde barındırdığı mail fonksiyonu ile mail gönderme işlemi yapılabiliyor. Ama gel gelelim doğrudan bu fonksiyon ile yollanan mailler mailin gittiği sunucu tarafından spam olarak algılanır. Çünkü doğrudan yollanan bu maillerde herhangi bir oturum doğrulama, dijital imza kontrolü yapılmamaktadır. Buda karşı tarafın giden sunucusunda spam izlenimi yaratır.

PhpMailler sınıfı ile smtp mail gönderme işlemi

Smtp ile mail gönderme işinde ise işler tam tersine döner. Misal; Yandex’te bir mail hesabınız var ve bu hesabınızdan normalde giriş yapıp nasıl mail yolluyorsanız, smtp mail gönderme işlemindede PhpMailler Sınıfı, smtp sunucusu bağlantısı kurarak bu sunucu üzerinden gayet doğal bir şekilde mail gönderir. Bu nedenle yolladığınız mailler karşı tarafın gelen kutusuna düşer.

Hosting Firmaları Mail Fonksiyonunu Kapatıyor!

SMTP Posta

Hosting satışı yapan firmalar günümüzde sunucu yapılandırması esnasında mail fonksiyonunu pasif hale getiriyor. Bu nedenle hosting kullanıcıları hosting hesapları üzerinden php’de mail fonksiyonu ile mail gönderemiyor. Hosting firmalarının sunucular için satın aldıkları sabit ip adreslerinin temiz tutulması için bazı güvenlik tedbirleri aldıkları bir gerçektir.

Sürekli spam maillerin gönderildiği ip adresleri doğal olarak Gmail, Hotmail, Yandex ve daha birçok büyük mail sağlayıcıları tarafından kara listeye alınır. Kara listeye alınan ip adresleri üzerinden gönderilen her mail spam niteliği taşır. Bu nedenle Hosting firmaları bu konuya önem vermektedir.

SMTP Nedir? Önemi!

Smtp açılımı “Simple Mail Transfer Protocol” yani Türkçe karşılığı “Basit posta aktarım protokolü” dür. Smtp giden sunucu ile posta gönderimi yapıldığında doğal olarak yolladığınız e-posta kişinin gelen kutusuna düşmesi sağlanır.

Günlük hayatımızda kullanılan normal postalar ile aynı mantıkta düşünebilirsiniz. Smtp ile e-posta yolladığınızda belli başlı bazı adımlardan geçilerek e-posta gideceği mail adresine ulaşım sağlar.

PHP SMTP Mail Gönderme

Bunun için öncelikli olarak php mailler sınıfını bağlantıyı kullanarak indirin. Bunun içinde class.phpmailler.php ve class.smtp.php dosyaları önem arz ediyor. Bu dosyaları kullanacağınız dizinin içine katıyoruz ve bu işlemden sonra şu şekilde bir kullanım ile mail gönderme işlemini yapabiliyorsunuz.

<?php
include ('class.phpmailer.php');
include ('class.smtp.php');
 
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'smtp.sitem.com';
$mail->SMTPSecure = 'tls'; //yada SSL
$mail->Port = 587;  //SSL kullanacaksanız portu 465 olarak değiştiriniz
$mail->Username = 'benim@mailadresim.com';
$mail->Password = 'mail şifresi';
$mail->SetFrom($mail->Username, 'Benim Adım');
$mail->AddAddress('alici@adresi.com', 'Alıcının Adı');
$mail->CharSet = 'UTF-8';
$mail->Subject = 'Mail Başlığı';
$mail->MsgHTML('Mailin içeriği!');
if($mail->Send()) {
    echo 'Mail gönderildi!';
} else {
    echo 'Mail gönderilirken bir hata oluştu: ' . $mail->ErrorInfo;
}

Bu şablonu kendinize göre modifiye ederek PHP Smtp mail gönderme işlemini sorunsuz bir şekilde yapabilirsiniz. Eğer birden fazla kişiye bir defada mail göndermek istiyorsanız şu şekilde bir kullanım yapabilirsiniz.

$mail->AddAddress('baska@biri.com', 'Başkası');
$mail->AddCC('baska@iki.com', 'Diğeri');
$mail->AddBCC('baska@ucu.com', 'Öteki');

Adres sayısını bu şekilde çoğaltabilirsiniz. Eğer veritabanından mailleri çekip tüm kişilere toplu mail göndermek istiyorsanız o zaman bu kodun bir tanesini döngünün içinde kullanmanız yeterli olacaktır.

Eğer SSL (güvenlik sertifikası) kullanan bir sunucu üzerinden mail gönderecekseniz o zaman SSL ayarlarını yapmanız gerekiyor. Bunun için yukarıdaki mail kodlarımıza şu ufak kodu eklememiz yeterli olacaktır. Bu bölümü “tls” veya “ssl” olarak düzenleyebilirsiniz.

$mail->SMTPSecure = 'ssl';  //yada tls

Bu şekilde sorunsuz mail gönderimi yapabilirsiniz. Bu kodları bu şekilde kullanmanıza rağmen eğer şu şekilde bir hata alıyorsanız,

Mail gönderilirken bir hata oluştu: The following From address failed: yolla@siten.com : Called Mail() without being connected

Bu durumda hosting aldığınız firma’ya destek talebi açıp hostinginiz için “Dış Smtp” erişim yetkisi verdirmeniz gerekmektedir. Bu ayardan sonra bu hatadan kurtulup sorunsuz bir kullanım yapabilirsiniz. Bu problem şu anda sıklıkla karşılaşılan problemlerdendir. Bu şekilde sorunu çözebilirsiniz.

Örnek Mail Gönderme Uygulaması

Sizin için PhpMailler sınıfı ile ufak bir uygulama yaptık. İletişim formu ve bu formun PhpMailler sınıfı ile mail olarak yollanmasını sağladık. Örnek kullanımı inceleyerek, kullanımı hakkında daha detaylı bilgi sahibi olabilirsiniz. Bu sayede projelerinizde kolaylıkla uygulayabilirsiniz.

İndirmek için alttaki bağlantıya tıklayın.


Anlamadığınız bir yer olursa yada çalıştıramadım derseniz veya daha farklı problem yaşıyorum diyorsanız lütfen konunun altına yorumlarınızı yazarak sorununuzu bize bildiriniz. Size çözüm üretmek için elimizden geleni yapacağız.

Admin
Admin

Bilgiye ve eğitime önem veren, paylaşmayı seven bir insan.

79 Yorumlar
Tümünü göster En Yararlı En Yüksek Puan En Düşük Puan Yorumunuzu ekleyin
  1. Php’de mail göndermeyi çok denedim ama bir türlü başaramamıştım. Hosting firmasıyla görüştüğümde smtp class’ları ile mail göndermemi istediler. Bu makaledeki kodları denedim gerçekten de sorunsuz çalıştı. Spama düşme sorunuda yok, gelen kutusuna direk düşüyor. Php smtp ayarlarınızı düzgün yapınca çok iyi çalışıyor kodlar.

  2. Phpmailler ile SMTP giden sunucusu ile mail göndermek isterken karşıma “Called Mail() without being connected” bu hata çıkmıştı. Bunun kodlardan kaynaklandığını düşünürken asıl sorunun “Dış SMTP” yetkisi olduğunu anlamam uzun zaman aldı.

    Bu makale sorunun çözümü açısından çok fayda sağladı bana. Bu nedenle teşekkür ediyorum arkadaşlar.

  3. “iletişim formunda, üyelik şifre sıfırlama işlemlerinde, e-bülten gibi bilgilendirme bölümlerinde mail gönderme işlemi” bu işlemler otomatik mail gönderimiyle olmaktadır. Phpmail dosyasının içindekileri ana dizine attığımızda, bu işlemler yine aynı şekilde otomatik mi gönderilecek? Yoksa bu bahsi geçen sistem toplu mail göndermek yada spama düşmeden mail göndermek için mi kullanılıyor? Eğer otomatik maillerde bu şekilde gidiyorsa gayet başarılı olur.

    • PHP Mailler otomatik mail gönderme işlemlerinde kullanılabilir. Smtp doğrulaması ile mail gönderileceği için spam’a düşme ihtimali düşüktür. Özellikle mx’leri yandexe yönlendirip, yandex alt yapısını kullanarak mail gönderiyorsanız o zaman bir kaç ufak ayar ile maillerinizi dijital imzalı olarak göndermeniz daha da sağlam olacaktır.

      DKIM ve SPF kayıtlarını yandex’e göre düzenlerseniz yolladığınız otomatik mailler’de dijital imzalı bir şekilde gönderilecek ve spam’a düşme olasılığı bir nebze olsun azalacaktır. Toplu mail işi biraz problemli olabilir. Bir noktaya kadar toplu mail için kullanılabilir ama mail göndereceğiniz kişi sayısı arttıkça problem yaşamaya başlarsınız.

  4. İletişim formları dahil artık PHP Mail () fonksiyonu birçok webhosting firması tarafından kapatıldığı için, smtp gönderimini öğrenmek isteyenlere adeta ilmek ilmek anlatılmış konu 🙂 Çok teşekkür ederiz.

  5. Bu makale sayesinde PHP SMTP mail gönderme işlemi yapabildim, gayet basic bir anlatım ve kullanım var bu nedenle kodları anlamakta zorlukta çekmedim. Gayet başarılı bir çalışma olmuş oldukça açıklayıcı elinize emeğinize sağlık hocam.

  6. Merhaba,
    Smtp mail göndermeyi denediğimde böyle bir hata ile karşılaşıyorum. Sorunun kaynağı nedir? yardımcı olursanız sevinirim.
    teşekkürler.

    ” Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)
    SMTP Error: Could not connect to SMTP host. ”

    • Smtp bağlantı hatası veriyor. Port ayarınızı gözden geçirin doğru olduğunu düşünüyorsanız o zaman hosting aldığınız firmaya destek ticket’ı açarak “dış smtp” yetkisinin bulunup bulunmadığını sorun. Yetki verilmemişse dış yetki verip tekrar deneyin muhtemelen sorun çözülecektir.

  7. Tam sitem için bu gerekliydi, wordpress harici bir sayfayı iletişim sayfayı yapacaktım. Çok iyi oldu. Emeğiniz için teşekkürler.

  8. Bu konu faydalı oldu çünkü contact form 7 eklentisi smtp ayarları yapılmadan çalışmıyor.

  9. Php ile mail gönderme konusunu her yerde aradım taradım fakat bu yazın sayesinde işlerimi halledebildim çok teşekkür ederim.

  10. Gayet başarılı ve bilgilendirici olmuş elinize sağlık

  11. İletişim formları dahil artık PHP Mail () fonksiyonu birçok webhosting firması tarafından kapatıldığı için, smtp gönderimini öğrenmek isteyenlere adeta ilmek ilmek anlatılmış konu ? Çok teşekkür ederiz..

  12. yıllardır kullandığım sağlam bir mail sınıfı tavsiye ederim sorunsuzdur !

  13. mail() fonksiyonu gibi değil hiçbir kütüphane çok özledim kendisini, çok uzun zamandır kullandığım bir kütüphane ama gel gelelim her kullanımımda bir sorunla karşı kaşıya kalıyorum genelde buralara bakıp tekrar üzerinden geçiyorum.

  14. WordPress’de klasiktir bu ‘SMTP’ hatası. Ama bu yazı sayesinde artık bu hatayı yapmayacağıma emin oldum. Hosting firmalarının bazen önlemler adı altında yaptıkları, son kullanıcıya eksi şekilde yansıyabiliyor. Faydalı bir yazı olmuş.

  15. wordpress gelenekselleşmiş olan bu hayatı bu yazı sayesinde çözeceğimiz konusunda umutluyum. detaylı anlatım için teşekkürlerimi sunarım.

  16. Uzun zamandır worpdress tabanlı internet sitemizde email ile bildirim alma konusunda sıkıntı yaşıyorduk. Hazırlamış olduğunuz bilgilendirme yazısı işimize yaradı. Hosting firmalarının kısıtlamalarının farkında değildik, uyarınız için teşekkür ederiz.

  17. Bu konu beni o kadar uğraştırdıki. Farklı yöntemler denemiştim en son ama siteme harici eklentiler eklemek istemediğim için üstüne düştüm ve sonunda halledebildim, bilgiler için teşekkür ediyorum.

  18. Uzun zamandır aradığım ama bir türlü bulamadığım çok değerli bir konu. Hosting firmalarının bunu yaptığını bilmek de ayrıca beni çok üzdü. Bilgilendirici yazınız için çok teşekkür ederim.

    • Mail fonksiyonu kapatmaları sizi neden üzdü anlayamadım 🙂 adamlar ip adresleri spam’a düşmemesi için kapatıyor, bu makalede bulunan php mailler sınıfı ile sorunsuz mail gönderebilirsin ayrıca spam’a düşme olasılığı düşer. Dijital imzalı mailler gönderilmesi her zaman iyidir.

  19. Üzerinde çalıştığım proje de takıldığım bir sorundu yazınız benim için gayet aydınlatıcı oldu teşekkür ederim.

  20. Php mailler sınıfı gerçektende sorunsuz bir şekilde çalışıyor. Yazdığınız script’iniz için sorunsuz mail göndermek istiyorsanız ideal bir yöntem. Konu ile ilgili hiç bir fikri olmayanlar bile , yazıyı okuduktan sonra bilgi sahibi olabilir, basit bir dille anlatmışsınız.

  21. Bildiğim kadarıyla php mail fonksiyonu açık olduğunda spam mail toplu mail gibi saldırıları engellemek için yapıyorlar sunucu performansını çok değiştirir

  22. Şuanda bir çok sunucuda bildiğim kadarı ile PHPMail fonksiyonu kapalı. Yapılan bir çok scriptte bulunan açık yüzünden sunucu ip adresleri sürekli spam listlere düşüyor. O yüzden de insanlar SMTP mail göndermeyi tercih ediyor.
    Bu yararlı kod için teşekkür ederim.

  23. Çok yararı oldu teşekkürler, bana bambaşka dil gibi gelen şeyler adeta çok kolaylaştı tekrar tekrar teşekkürler iyi günler.

  24. Linux sunucu kullananların başının belası bir mail gönderme yöntemi ya host sağlayıcınız izin vermez ya da bilmezsiniz ama böyle yararlı bir makale sonrası öğrenmek iyi oldu teşekkürler..

  25. Php mailer sistemi uzun yıllardır var artık birçok hostun mail kodlarına izin vermediği ortadayken tek çözüm gibi görünüyor.

    bu sistem gmail, yandex gibi sistemler ile de kullanılabiliyor sanırım.

  26. Webmaster için sorun olan php mailler sistemi açıklayı ve kolay bir çözüm bulduğunuz için tşkler. Ayrıca sistem gmail ve yandex sistemlerinde kullanılmasıda artı bir avantajdır Tşkler iyi çalışmalar dilerim

  27. Programlama dilleriyle ilgilenen birisi olarak bu yazınızı beğendiğimi söyleyebilirim. Teşekkürler.

  28. SMTP mail konusunda ciddi sorunlar vardı sitemde. Ne gelen vardı ne giden vardı şu anda güzel çalışıyor teşekkürler.

  29. SMTP ile toplu mail gönderince de ip adresi kara listeye girer mi? veya bir defada en fazla kaç mail göndermeli? Daha önce denemiştim ip adresi yurt dışından banlanmıştı, site 2 gün kapalı kalmıştı ban açılana kadar.

    • Toplu mail işi farklı bir konu. Zaten siz paylaşımlı bir hosting hizmeti kullanıyorsanız doğal olarak hosting firması günlük kota katmıştır. Mesela Radore’de 24 saat’te yani günlük 500 mail gönderme hakkınız var. Paylaşımsız kendi ip adresini ile bir Vds olabilir, bu tarz platformladan daha fazla mailler gönderilebilir. Gel gelelim mail sağlayıcılarının spam filtreleri çok acayip çalıştığı için spam olmayanada spam muamelesi gösterebilmektedir. Bu nedenle spama girmez desek yalan olur.. Ama en başta önlemler alıp, düzgün içerikli mailler oluşturup, data’nızda bulunan herkeze değilde, gruplar halinde kısım kısım ve belli gün aralıklarıyla gönderilen mailler bir nebze daha iyi olabilir.

  30. Uzun süredir sorunuma çözüm arıyordum. Bu yazıyla çözmüş oldum. Yazar arkadaşım ellerine sağlık.

  31. Bu konuyu uzun zamandır arıyordum sitemde kullanmak için. Bugüne nasip oldu. Bilgilendirme için teşekkürler.

  32. Önem arz eden sitelerde hostinge ek olarak ip adresi almamımızı önerir misiniz? Seçim çalışmaları için @siteadı.com üzerinden mail göndereceğiz ve spama düşmesin istiyoruz. Bunun için ekstra yapmamız gereken bir şey var mı?

    • Sabit ip’te alabilirsin, istersen yandex alt yapısına maillerini taşıyarak yandex alt yapısı ile yollayabilirsin. Ama ne yapsak’ta bir noktadan sonra spam işinden tam olarak kurtulamıyoruz. Sanırım dikkat etmek gereken bir diğer önemli husus ise göndereceğin mail içeriği olacaktır. Spam izlenimi verebilecek işaretlemeler, çok renklendirmeler, standart dışı html kullanımı vs.. gibi bir çok sebep spam izlenimi yaratabilir. Yani yollayacağınız mail içeriklerini dikkatli bir şekilde oluşturmakta fayda var.

  33. Yazmış olduğunuz makale sayesinde uzun zamandır aklıma takılan sorulara cevap bulmuş oldum teşekkürler.

  34. Özel bir php yazılımla iletişim formu tarzında formlar yapmak ve sağlıklı sonuç almak gerçekten zor, her doldurulan formun ulaşması bi ihtimal fakat wordpress bir kaç eklentiyle bu işi sorunsuz yapıyor, mecburen wordpress’e yöneliyoruz bu ve bunun gibi işlemler için.

  35. Mail gönderme olayını yorum yazan kullanıcılara cevap vermek için kullanmak istiyorum. Gönderilecek e-posta adresi cevap yollayacağım kullanıcıya göre normal olarak değişecek. Sıkıntım kullanıcıların e-posta adreslerını almada ve mailler fonksiyonu içerisinde mail gönderilecek adrese eklemekte. Bir türlü mail göndermeyi başaramadım yardımcı olabilir misiniz?

    • Beyza hanım, anlatım çok uzun sürdüğü için mail adresinize gönderim yaptım. İnceleyebilirsiniz.

      • Cevabınız için teşekkür ederim çok işime yaradı. Şuan sadece “The following From address failed: b******r@gmail.com : Called Mail() without being connected” hatasını alıyorum e_posta adresi ve şifre de hatalı değil neyden kaynaklanıyor olabilir?

        • Bu hatayı makalemizdede belirttiğimiz üzere, “dış smtp” yetki kısıtlamalarından kaynaklanmakta. Çözüm olarak Hosting aldığınız firmanın kontrol paneline giriş yaparak, yeni bir destek talebi oluşturun. Bu hatayı oraya yapıştırın ve “dış smtp” yetkisi verilmesi isteyin.

          Tekrar denediğinizde sorunun çözüldüğünü göreceksiniz.

        • Anladım 🙂 Yardımlarınız için çok teşekkür ederim . İyi çalışmalar.

  36. Ben Php ile E-Ticaret yazılımı kodluyorum. Bu yazılımda sipariş sistemi ve üyelik modülleri için mail gönderme fonksiyonunu kullanıyorum. Özellikle müşteri site üzerinden bir ürün sipariş ettiğinde, sipariş bilgileri 2 tarafa da mail olarak gitmesi gerekiyor. Büyük alışveriş sitelerinde bu özellik mevcut ve zorunlu olması gereken kritik özelliklerden bir tanesi durumunda.

    • Opencart ve benzeri e-ticaret sistemleri için php mail gönderme işlemini gönül rahatlığı ile kullanabilirsiniz. Siparişler, üyelik bildirimleri, indirim durumları gibi bir çok durumda otomatik sistem maili sayesinde müşteriye bilgi aktarımı sağlanabilir. Üstelik kişinin gelen kutusuna düşeceği için mail’leriniz güvenli bir şekilde karşı tarafa ulaşım sağlar.

  37. Ben örnek kodları indirdim ama iletişim formunda sadece mesajın konusu gidiyor. Ad soyad , Posta ve Mesajın Konusu bilgisi maile ulaşmıyor. Bu konuyu nasıl aşabilirim.

    • merhaba;

      if($AdiSoyadi and $MailAdresi and $MesajKonusu and $Mesaj){

      Bu kısımdan sonra şu kodları yazın.


      $Mesaj = "
      Adı soyadı: $AdiSoyadi
      Mail Adresi : $MailAdresi
      Mail Konusu : $MesajKonusu
      Mesaj : $Mesaj
      ";

      Bu şekilde, mesaj içeriğiniz formdaki veriler gönderilir. Konununda gidiyor olması gerekiyor.

  38. Oldu. Çoook teşekkür ederim. bu arada aşağıdaki kodu ekleyecekler , yan yana çıkmaması için aşağıdaki gibi yazınız.


    $Mesaj = "
    Adı soyadı: $AdiSoyadi
    Mail Adresi : $MailAdresi
    Mail Konusu : $MesajKonusu
    Mesaj : $Mesaj
    ";

  39. Sayın Admin benim bir projem üzerine MySql den gelen veriyi a.php de bir değişkene atıp $Post ile b.php ye yolluyorum.Devamında bu değişkene atanan Veriyi, veritabanında mail hesabı ile kayıtlı olan herhangi bir kullanıcıya otomatik nasıl mail olarak yollayabilirim?Yardımcı olabilir misiniz,teşekkür ederim.

    • b.php dosyasına post yaparken mail göndermeniz gerekir. Yani mail gönderme işini b.php dosyasında yapmalısınız. Eğer post ediliyorsa, önce veritabanından mail gönderilecek kişinin e-posta adresini, gereken bilgileri çekip bu verileri mail fonksiyonumuz içinde kullanmalısınız.

  40. Merhaba çok faydalı bir çalışma olmuş. Öncelikle teşekkür ederim.
    Örnek çalışmanızı indirerek sorunsuz bir şekilde çalışabildim. İş başvuru formu gibi bir çalışma yapmak istiyorum. Forum içeriğini düzenledim fakat mail form ile dosya göndermek için bir örnek paylaşabilir misiniz?
    2. olarak flood önlemek için doğrulama eklenebilir mi ?

  41. Spama düşme sorunuda yok, gelen kutusuna direk düşüyor. Herhangi sorun yaşamadan gönderebiliyoruz.

  42. Merhaba, benim sorunum başka. Mesaj gidiyor ama yinede hata mesajı çıkıyor ki şöyle birşey ” Unable to sen your message. fix error and try again” Bu sounu nasıl giderebilirim acaba? Teşekkür ederim.

    • Bu hatayı vermemesi lazım. Bu hatayı veriyorsa göndermemesi lazım. Kullanımda bir yanlışlık yapmış olabilirmisiniz? örnek kodları buraya yazarsanız inceleyebilirim iyi günler.

      • Merhaba, kusura bakmayın geç yazıyorum size.İlginize teşekkür ederim. Dediğim gibi mesaj gidiyor ama hata mesajı görünüp kayboluyor. İkinci olarak sormak istediğim, mesaj yollanınca”mesaajınız alınmıştır” diye bir ileti göstermemiz mümkün mü acaba? Çok soru sodum kusura bakmayın. Acemiyim bu konularda. Şimdiden ilginize teşekkürler ve kolay gelsin

        • Murat hocam,

          Sanırım bizim kattığımız dosyaları kullanmamışsınız. Sayfanın en üstüne şu komutu veriniz böylelikle hataları gizlemiş olursunuz.


          error_reporting(0);

          Örneğimizde mail gönderildiği durumda uyarı mesajı ve yönlendirme işlemi yapılmaktadır.

  43. Harika açıklayıcı bir yazı olmuş pek çok video da izledim ancak aradığımı bulamadım. yazınız pek çok şeyi aydınlattı bence video çekim işine de bir göz atmalısınız. emeklerinize sağlık

  44. İyi günler ben iki farklı mail göndermek istiyorum biri gönderilecek kişiye gidicek biride gönderen kişinin kendi mailine gidicek ama kendine gelicek mail farklı olucak örneğin;

    siz bana mail attınız bana mail geldi başarılı sizede ayriyetten bir mail gelicek o mailde de mesajınız bize ulaştı değerlendiriliyor tarzında birşey yazıcak onu smtp php mailler ile nasıl yapabilirim.

    • Kardeşim bunun için sana fonksiyon hazırladım.

      [php]
      IsSMTP();
      $mail->SMTPAuth = true;
      $mail->Host = $MailSmtpHost; //Smtp Host
      $mail->SMTPSecure = ‘ssl’; //yada tls
      $mail->Port = 465; //SSL kullanacaksanız portu 465 olarak değiştiriniz – TLS Portu 587
      $mail->Username = $MailUserName; //Smtp Kullanıcı Adı
      $mail->Password = $MailPassword; //Smtp Parola
      $mail->SetFrom($mail->Username, ‘Benim Adım’);
      $mail->AddAddress($kime, ‘Ahmet Kaplan’); //Mailin Gideceği Adres ve Alıcı Adı
      $mail->CharSet = ‘UTF-8’; //Mail Karakter Seti
      $mail->Subject = $konu; //Mail Konu Başlığı
      $mail->MsgHTML($mesaj); //Mail Mesaj İçeriği
      if($mail->Send()) {
      header(“location: yonlenecek_sayfa.php”);
      } else {
      echo ‘Mail gönderilirken bir hata oluştu: ‘ . $mail->ErrorInfo;
      }

      }

      ?>
      [/php]

      Bunu şu şekilde çalıştıracağız. Burada ilk satırda “karşı tarafa istediğimiz içerikte mail gönderiyoruz”, ikinci satırda ise “istediğiniz içerikte maili kendinize” gönderiyorsunuz.

      [php]

      [/php]

      Bu şekilde kullanım işinizi görecektir.

      Eğer verileri formdan çekip göndermek istiyorsanız o zaman ise şu şekilde işimizi tamamlayabiliriz.

      [php]

      [/php]

      Bu şekilde. Eğer soru işaretiniz hala varsa yorum yapmakta çekinmeyin.

      • Geri döndüğünüz için teşekkür ederim bende sizin yapığınıza çok benzer şekilde çözdüm olayı sadece if koşulu karşılandığında sizin gibi formu gönderttim oldu teşekkürler.

  45. Yaptığım projede mail konusunda ve formda takılmıştık. Bu makaleye rastladığım iyi oldu. Hrrhangi bir sorun yaşarsam yine sorumu soracağım. Teşekkürler.

  46. Ben Teşekkür ediyorum yazınla bizi aydınlattın.. Genel itibar ile php mail gönderme konularında birçok kişinin eksik bilgisi vardı ve bu yazı birçok kişiye bilgi kaynağı olacağına inanıyorum..

  47. SMTP mail konusunda ciddi sorunların bulunuyordu. Yazı sayesinde sıkıntıyı giderdim. Çok teşekkür ederim.

  48. Teşekkürler, özel projeler için olmazsa olmaz bir paylaşım olmuş.

  49. uğraş uğraş kafanı parçala ama gel gör ki kılavuz yazılım döktürmüş dikkatli okuyarak uyguladım ve sonuç BAŞARILI :))

  50. Bilgilendirici bir konu okurken ince detaylara girildiğini fark ettim tek kelimeyle harika.

  51. php tarafında hep kullandığımız bir yapı, işe yarar bir konu. Özel projelerde kullanılmama imkanı olmuyor. Teşekkürler.

  52. teşekkürler yararlı bir paylaşım olmuş.

  53. Stmp mail göndermede sorunlar yaşıyordum artık bu konu ile php de stmp mail nasıl göndereceğim hakkında süper bilgiler edindim.

  54. Merhaba, sizin verdiğiniz proje üzerinden ilerlemek istedim dedikleriniz uyguladım fakat,

    Mail gönderilirken bir hata oluştu: The following From address failed: root@localhost : MAIL not accepted from server,503,5.5.4 Error: send AUTH command first. 1705272666-3pveUUfOcSw0-zNoUBi7z
    SMTP server error: 5.5.4 Error: send AUTH command first. 1705272666-3pveUUfOcSw0-zNoUBi7z

    SMTP server error: 5.5.4 Error: send AUTH command first. 1705272666-3pveUUfOcSw0-zNoUBi7z

    şeklinde hata aldım bunun çözümü hakkında yardımcı olabilir misiniz?

    • Merhaba, hosting firmanıza destek talebi oluşturup “dış SMTP erişim yetkisi” isteyiniz. Hosting firmaları güvenlik için bazı kısıtlamalar yapıyorlar. İşlemden sonra sorunsuz mail gönderebilirsiniz.

  55. Web sitenizin kalitesini beğendiğimi belirtmek isterim ayrıca sunmuş olduğunuz hizmetten ötürüde teşekkür ederim. Başarılarınızın devamını diliyorum.

Yorum Bırakın

Translate »
Kılavuz Yazılım
Logo