PHP mail Gmail gösterilmesini ama Hotmail ve diğer 3. parti / ISS hesabına gösterir değil

5 Cevap php

Ben posta İki Vanity gmail hesaplarına gönderilen 2 siteleri var. Ben postayı işlemek için PHP kullanıyorum ama mail (spam / önemsiz, sadece görünmüyor değil) gmail kadar gösterilmiyor. Benim kişisel hotmail hesabına göndermek için PHP geçerseniz, posta gösterir. ISP üzerinden kişisel e-posta hesabı için aynı.

Posta, bu 2 Vanity gmail hesaplarına onlar sadece durdurmak neden herhangi bir fikir göstermek için kullanılır?

5 Cevap

Orada uygun bir başlık verilerini set vermedi bir olasılık olduğunu ve bu e-postaları bile spam klasörüne ulaşmadan önce engellenir.

Böyle bir şey eklemeyi deneyin:

$headers = 'From: your@email.com' . "\r\n" .
'Reply-To: some@email.com';

Bu mail () fonksiyonunun dördüncü parametresidir.

Ben bazı ücretsiz e-posta sağlayıcıları benim sunucularından herhangi bir e-posta almak olmaz geçmişte sorunlarla karşılaşmış.

Ben bir kaç şey gerçek mesajın doğru başlıklarını koyarak üstüne, suçlu olabilir bulundu:

  • Emin olun server reverse dns lookup için yapılandırılmış
  • Eğer bir açık smtp relay çalışmadığından emin olun
  • Sunucu açık bir röle olsaydı herhangi bir email blacklists (muhtemelen kara listeye got kadar rüzgar yoktu emin olun.

Şansı, PHP sadece iyi e-posta gönderdiğini, ancak Google sunucuları, sunucudan gelen herhangi bir mesaj reddediyorlar.

Sen hızlı yaparak bu test edebilirsiniz:

mail -s Test you@gmail.com < /dev/null

Sunucu tamam ise, siz yapmazsanız, PHP sorun değil, senin gmail bir mesaj alırsınız.

Ben alanınız için uygun bir SPF kaydı gerçekten yardımcı olan buldum

http://www.openspf.org/SPF_Record_Syntax

Bu bir sunucu yapılandırma sorunu değil, bir PHP sorunu olduğunu daha olası görünüyor.

Bir yan not olarak ben bizim yerel sisteme göre daha hoşgörülü gmail buldum, bu yüzden hosting etki hesabımı benim gmail hesabına mesajları almak mümkün oldum, ama.

Google üçüncü taraf kara listelerini kullanır sanmıyorum, ama onlar (bu kendisini doğru tespit etmez SPF ve RDNS eşleşen kayıtları var, düzgün komutlarına yanıt) sunucu yapılandırması önemsiyorum. Sen this veya this gibi test hizmetleri birkaç deneyebilirsiniz.

Ben çok geç olduğunu görüyoruz 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: some@email.com';

$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>