PHP mail çalışmıyor olabilir nedenleri

9 Cevap php

Ben bir iletişim formu e-posta göndermek için PHP mail() function kullanıyorum. Işlevini verir true kadar ince olmalıdır. Ama e-posta alamıyorum.

Ben her zaman emin dağıtıldıktan yapmak için PHP posta From ve Reply-To başlıklarını kullanmak gerektiğini söylüyorlar mesajları gördüm. Ben çeşitli yapılandırmaları denedim ama hiçbir şey henüz çalışıyor.

mail() fonksiyonu hata ayıklamak için başka bir yolu var mı?

9 Cevap

Bu sorun başlıklarına nedeniyle çoğu zaman, posta gönderebilir alabilirsiniz ama SMTP sunucusu çünkü hatalı başlıkları tüm teslim asla olabilir

Ben böyle phpMailer hangi başlıkları ile tüm sorunları kolları ve kullanmak için gerçekten güzel bir arayüze sahip olarak PHP için bir posta sınıfını kullanmak için öneririm

şerefe

Eğer windows üzerinde iseniz bir SMTP sunucusu yüklemeniz gerekir.

Eğer linux üzerinde iseniz sendmail etkinleştirmek ve kullanıcı hesabı PHP yüklü sağlamak gerekecektir sendmail ikili erişimi vardır.

Hesabınız ikili erişmek için yeterli izinlere sahipse ana sorun.

Kodunuzu buraya gönderme durumunda da bunu göz ardı orada bir hata olduğunu yardımcı olabilir.

Eğer kendi bilgisayarınızdan mail gönderiyor? Eğer yerel etki ötesine erişebileceği bir SMTP sunucusu kurmak olmayabilir. Ayrıca posta hizmetine bağlı olarak, bir spam filtresi tarafından engelleniyor olabilir.

Eğer kendi bilgisayarınızdan bu yapıyorsanız, yerel posta hesaplarınızdan birini (Eğer Linux kullanıyorsanız, yani) yerel bir mesaj göndererek test edin. Eğer bu sorun olduğunu düşünüyorsanız, postfix yükleyin.

Eğer bir hosting hizmeti yapıyoruz, spam klasörünü kontrol edin.

Ben özellikle sizin soruya cevap değil biliyorum, ama benim tavsiyem () yerine posta swiftmailer gibi bir şey kullanmak olacaktır. Bu kadar iş-it alma ve--posta-through alma açısından hem de, çok daha güvenilir bulunuyor.

Unix sistemleri, mail() use sendmail, ve bu başarısız olabilir birçok nedeni (izinler, yapılandırmada hata) vardır. PHP tüm bu tespit ve rapor olsaydı ben emin değilim. Sendmail herhangi günlüklerini denetleyin.

You should also have a look at helpers for sending mail, from PEAR or Zend, for example.

Bazı sunucularda explicitely başlığında GELEN ayarlamak için veya alışkanlık gönderilmesi gerekir.

Keçi, üzerinde fonksiyonunu çalışıyoruz sunucu dinamik bir dış IP üzerinde eğer SOL demektir. Çoğu posta sunucuları dinamik IP portu 25 gelen bağlantıları engelleyecek şimdi değişmektedir. (

Paylaşılan bir hosting mi? Ben bazı şirketler spam önlemek için posta işlevi geçersiz biliyorum, ve ek argümanlar, veya (alanında etki alanı adı geçerli bir adres olması gerekmektedir) gibi bazı önceden tanımlanmış değerleri gerektirir. Web hosting şirketi ile kontrol etmek isteyebilirsiniz. Eğer aynı kodu deneyebilirsiniz özel bir set up var mı?

Sağlayıcınızın posta sunucusu men edilebilir. Dns kara liste kontrol edin veya sağlayıcı barındırma başvurun.