Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

PHP ile Spam'a Düşmeyen E-Posta Nasıl Gönderilir?

PHP'nin standart mail() fonksiyonu ile zaten her e-posta spam'a düşüyor. Hazır e-posta sınıfları ile SMTP kullanarak e-posta gönderdiğimde kısmen başarılı oluyorum. Ama Outlook üzerinden aynı e-posta hesabını kullandığımızda spam filtrelerine takılmıyor. Spam filtrelerinden kastım da hotmail, gmail, yahoo gibi web üzerinden e-posta hizmeti veren sayfalar.

Vardır sanırım bir yolu. Zira bazı sayfalardan gelen e-postalar, spama takılmadan e-postama düşüyor.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • 2
    selmand adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 0 soru
    Bunun için header ları düzgün bir şekilde kullanmalısınız. Çoğu mail classında ve phpmail fonksiyonu ile mail gönderirken headerlar düzgün ayarlanmaz bu nedenle eposta istemcileri bunun bir spam mail olduğunu düşünürler. Fakat webmail istemcileri kullanarak mail gönderdiğinizde mailler yine spama düşmez bunun nedeni maildeki headerların düzgün ayarlanmış olmasıdır.
    • selmand adlı üyenin fotoğrafı selmand
      Yıllar önce php.net e gönderdiğim kodu buldum.

      belki < > işaretlerinden dolayı çalışmayabilir bir denemek lazım serverda.

      $headers = '';
      $headers .= "From: $BusinessNamen";
      $headers .= "Reply-To: $BusinessNamen";
      $headers .= "Date: ".date("r")."n";
      $headers .= "Message-ID: n";
      $headers .= "Return-Path: n";
      $headers .= "Delivered-to: n";
      $headers .= "MIME-Version: 1.0n";
      $headers .= "Content-Type: text/html; charset=ISO-8859-1n";
      $headers .= "X-Priority: 1n";
      $headers .= "Importance: Highn";
      $headers .= "X-MSMail-Priority: Highn";
      $headers .= "X-Mailer: SelmanD Mailler With PHP!n";
      $strSubject = "Contact via someone@hotmail.com";
      $strMessage = "Business name: $BusinessName";
      $strMessage .= "Business website: $WebsiteName";
      $strMessage .= "E-mail: $Email";
      $strMessage .= "Business address: $Address";
      $strMessage .= "Message: $Message";
      mail('info@easyto.eu', $strSubject, $strMessage, $headers);
      13 yıl önce yazılmış
  • 1
    bcinarli adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    12 cevap - 0 soru
    mail() fonksiyonu ile gönderen e-posta adresi belirli olmayan e-posta gönderimi yerine, var olan bir e-posta adresini kullanarak smtp mail gönderimi yaparsanız, spam kutusuna takılma ihtimalinizi azaltırsınız.

    Bunun için, hazırda bulunan ve ücretsiz olarak kullanabileceğiniz phpMailer gibi classları kullanabilirsiniz.
    • eReN adlı üyenin fotoğrafı eReN
      Sorumu tekrar okursanız, mail fonksiyonu yerine mail class ları ile de spam'a düşmeyi tamamen engelleyemediğimi yazmıştım. Outlook ile gönderdiğim e-posta spam'a düşmezken, aynı adres ile mail class ı ile gönderdiğim e-posta spam'a düşüyor.
      13 yıl önce yazılmış
  • ismailbaskin adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    4 cevap - 0 soru
    Sunucunun DNS ayarları ile alakalı bir problem olabilir.
  • hasanyasar adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    5 cevap - 0 soru
    Eğer outlook'dan gönderdiğiniz zaman SPAM'a düşmüyorsa, SMTP ile bağlandığınız zaman outlook üst bilgisi (header) ile gönderin. O zaman problem düzelecektir.

    Bunun dışında eğer yoğun gönderim yapıyorsanız bunlar çözüm olmayacaktır. SMTP hizmeti veren bir yerden hizmet almanız gerekecektir.
  • 2
    logikit adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 0 soru
    Arkadaşların önerdikleri çözümlere bir-iki ek de ben yapmak isterim:
    - Hotmail, gmail, yahoo gibi "büyük baş" e-posta sağlayıcıları birbirlerinden farklı yöntemlerle spam kontrolü yapıyorlar. Dolayısıyla, birinde spam'e düşen mail diğerinde düşmeyebilir.
    Kendi deneyimim ışığında ve mail gönderdiğiniz sunucunun kara listede olmadığını varsayarak (Kara liste kontrolü için http://www.mxtoolbox.com/blacklists.aspx adresine bakabilirsiniz)
    - Mailin gönderildiği domain adı ile sunucuya reverse dns lookup sonucu dönen domain adının farklı olması ile,
    - Sender ve reply-to adreslerinin farklı olması durumlarında spam'e düşme olasılığının yüksek olduğunu gördüm.

    Bunların haricinde, php mail işlevini değil, doğrudan php ile yazılmış smtp protokolü wrapperları kullanarak mail gönderme işini daha köktenci bir şekilde çözebilirsiniz. Bu konuda önerebileceğim http://swiftmailer.org adresinden ulaşabileceğiniz Swift Mailer.
  • bronze adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 0 soru
    Yeni sunucu kurulumundan hemen sonra benzeri problemi çözmek için öncelikle:

    - Domainin dns kaydına SPF record ekliyorum
    - Reverse dns kaydı yapıyorum

    Php de ise arkadaşların da söylediği gibi header bilgileri eğer doğru olarak gönderilemiyorsa bloklanıyor
  • 1
    harleyyyy adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    1 cevap - 0 soru
    Merhaba ,

    Spam internet dünyasının en büyk sorunlarından biri olmaya başladı.Dünya genelinde günde 200 milyar adet spam mail gönderimi yapıldığı tespit edilmiş bu sebepten dolayı bir çok ISP ( gmail, hotmail vs...) bir maillin gelen kutusuna düşmesi için çok katı kuralları olduğunu biliyoruz.Artık spam problemini gerçek anlamda tek çözebilen konu serfifikadır.

    Sertifikalı mail göndericisi olmak ancak email marketing siteleri için geçerli bir konu bunun için ISPlere en az 1 sene boyunca izinli mail gönderdiklerini kanıtlamaları gerekiyor.Sonrasında ciddi miktarlarda bir para ödenerek sertifika sahibi oluyorlar.Ve artık onları iplerinden gönderilmiş her mail imzalı olarak gelen kutularına düşüyor.
    • wdrleo adlı üyenin fotoğrafı wdrleo
      Arkadaşa katılıyorum, bu konuda sizin yapabileceğiniz ise mail hizmeti veren bu işte profesyonel insanlarla çalışmaktır. Eğer %100 gelen kutusuna düşsün istiyorsanız. Çünkü; siz ne kadar kod yazarsanız yazın bu koddan çok sunucuyla alakalı bir durum olarak çıkıyor karşımıza.
      10 yıl önce yazılmış