2009-05-13 18 views
8

Postaların iki vanity gmail hesabına gönderildiği 2 sitem var. Ben posta işlemek için PHP kullanıyorum, ama posta gmail'de görünmüyor (spam/önemsiz değil, sadece görünmüyor). Kişisel hotmail hesabıma göndermek için PHP'yi değiştirirsem, posta görünür. İSS'm aracılığıyla kişisel bir e-posta hesabı için de aynı.PHP postası Gmail'de görünmüyor, ancak Hotmail ve diğer 3. taraf/ISP hesabında görünmüyor

Bu 2 vanity gmail hesabında görünmek için kullanılan posta, neden sadece durması gereken herhangi bir fikir?

+0

i aynı sorunu yaşıyorum. Gerekli tüm başlıklara da sahibim, ancak e-posta görünmüyor. –

cevap

8

Uygun üstbilgi verilerini ayarlama olasılığınız vardır ve bu e-postalar spam klasörüne ulaşmadan önce bile engellenir. Böyle bir şey ekleyerek

Dene:

$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]'; 

Bu posta() fonksiyonunun dördüncü parametredir.

+0

Katılıyorum, bu mümkün. –

+0

Uygun başlık verileri ne olurdu? Hiçbir başlık ayarlamıyorum: $ to = '[email protected]'; $ subject = 'subjim'; $ body = urlencode ($ comments); posta ($ to, $ konu, urldecode ($ body), "Gönderen: {$ _POST ['email']}"); –

+0

Ve yinelemek için, posta her iki hesaba geçiyordu. Hiçbir kod değişikliği yapılmadı. –

4

Bazı ücretsiz e-posta sağlayıcılarının sunucularımdan herhangi bir e-posta almadığı geçmişte sorunlarla karşılaştım.

  • sunucu çalıştırmakta olmadığından emin olun reverse dns lookup
  • için yapılandırılmış olduğundan emin olun:

    Ben birkaç şey gerçek mesajının doğru başlıklarını koyarak üstüne, suçlu olabileceğini bulmuştur açık bir röle olsaydı açık smtp relay

  • çalışmadığından emin olun ve sunucu muhtemelen kara listeye var, (herhangi bir email blacklists kadar rüzgar yoktu.

Şanslar, PHP e-postayı yeni gönderiyor, ancak Google sunucuları sunucunuzdan gelen iletileri reddediyor.

Sen hızlı yaparak bu test edebilirsiniz: sunucu tamamdır

mail -s Test [email protected] < /dev/null 

varsa, eğer yapmazsan, PHP sorun değil, sizin gmail bir mesaj alırsınız.

0

bu sunucu yapılandırma sorunu değil, bir PHP sorunu olduğunu daha muhtemel görünüyor yardımcı olur. Bizim yerel sistemden daha gmail daha toleranslı bulduğum bir yan not, bu yüzden benim gmail hesabına dışarı mesajlar almak mümkün oldum gibi

değil barındıran bir alan adımın hesabı.

Google üçüncü taraf kara listeler kullanır sanmıyorum, ama onlar (o, eşleştirme SPF ve RDNS kayıtları var, doğru kendini tanımlamak düzgün komutlarına yanıt vermez) sunucusu yapılandırması hakkında önemsiyorum. this veya this gibi birkaç test hizmetini deneyebilirsiniz.

0

Çok geç olduğunu görüyorum ama ... aşağıdaki kod gmail için çalışıyor.

<html> 
Mail Responder:<br><br> 
<?php 
$to = $_REQUEST['MyEmail'] ; 
$subject = $_REQUEST['subject'] ; 
$greeting = $_REQUEST['greeting'] ; 
$realname = $_REQUEST['realname'] ; 
$HisEmail = $_REQUEST['HisEmail'] ; 
$message = $_REQUEST['message'] ; 
$headers = 'From: '.$HisEmail; 
//$headers = 'From: $HisEmail' . "\r\n" . 
//'Reply-To: [email protected]'; 

$send = mail($to, $subject, $greeting."\n"."\n".$realname."\n"."\n".$HisEmail."\n"."\n".$message, $headers); 
if ($send) 
$mailReturns = "Mail sent successfully."; 
else 
$mailReturns = "Mail sent failed."; 

?> 
<?php echo $mailReturns; ?> 
</html> 
+1

Gmail'in benim için işe yaramadığını yorumlamak zorunda kaldım. Aynı kodu değiştirip bir Gmail hesabına gönderildi. –