php posta işlevi e-postaları almıyor

6 Cevap

Tamam, bu yüzden birlikte bir çok temel işlevi posta koymak ve bu test ederken, ben biri benim google hesabı ve diğer işim hesap, e-posta hesapları bir çift kullanılmış. Ben değil benim iş işaret olanlara, google hesabına tüm e-postaları almak. Ben anti-spam yazılımı ile yakalandı çünkü bu olabilir düşünüyorum. Herhangi bir fikir nasıl spam yazılımı ile yakaladı önlemek için mail fonksiyonu gelişebilir?

İşte benim posta fonksiyonu bir kopyası

$to      = 'account@gmail.com';
$subject = 'The subject';
$message = 'Hello,'."\n";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers  = 'From: me@mycompnay.com' . "\r\n" .
'CC: anotherone@mycompany.com' . "\r\n";

$mail_sent = mail($to, $subject, $message, $headers);
if($mail_sent) {
    header("location:newlocation.php");
}
}

6 Cevap

ve tüm önerileriniz için çok teşekkür ederim. Ben bu yazı üzerine yanıt bulundu

http://stackoverflow.com/questions/179014/how-to-change-envelope-from-address-using-php-mail

İşe yaradı.

L.

Bir çok kez bu posta taşıma ajanı yapılandırma ile PHP'nin mail () fonksiyonu ile yapmak için daha az ve çok daha fazlası vardır. Posta sunucuları bir sürü onlar bile bir spam filtresine geçmiş olsun önce spam (yani yanlış / Yapılandırılmamış gönderenler) vardır üstlenecek mesajları sıçrama olacaktır.

Eğer MTA günlükleri kontrol ederseniz, muhtemelen bazı çıkma mesajlarını izin bu sunucudan Mail ", seviyor bulabilirsiniz, [insert url] de kara bilgiye bakınız.

Gelen posta aslında spam olup olmadığını Spam filtreleri belirlemek için farklı yöntemler bir çok kullanırım.

İşte ben öneririm bir kaç şey vardır:

  • Açıklayıcı konu satırı
  • HTML ve vücut içindeki diğer zengin içeriği ile dikkat açıklayıcı mesaj, bazen spam filtreleri bir "reklam" olarak üzerine almak olacaktır.
  • Mümkün olduğunca orada gerçekçi bilgilerle dolu tam başlıkları.

Farklı kombinasyon adlı deneme deneyin ve size çalışma yoluyla almak görmek. Iyi şey yerel olarak değil, bir sunucu tarafı sorunu biliyorum böylece google hesap e-posta aldım olmasıdır.

muhtemelen düzgün başlıklarını ve içeriğini formatlamak gerekiyor. sınırları eksik.

Burada HTML biçimlendirme posta ile basit bir fonksiyon bulunuyor:

<?php
function html_mail($i){
  $to = $i['to'];
  $to_name = $i['to-name'];
  $subject = $i['subject'];
  $html_message = $i['message'];
  $from = $i['from'];
  $from_name = $i['from-name'];
  $reply_to = $i['reply-to'];
  $reply_to_name = $i['reply-to-name'];

  if(!$to || !validate::email($to)){return false;}

  $email_message = '';
  $email_subject =  $subject;$email_txt = $html_message;
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  $email_to = ($to_name ? $to_name.'<'.$to.'>':$to);

  $headers = "From: ".($from_name!='' ? $from_name.'<'.$from.'>':$from)."\n";
  if($reply_to){
    $headers .= "Reply-To: ".($reply_to_name ? $reply_to_name.'<'.$reply_to.'>':$reply_to)."\n";
  }
  $headers .= "MIME-Version: 1.0\n" . 
              "Content-Type: multipart/mixed;" . 
              " boundary=\"{$mime_boundary}\""; 
  $email_message .= "This is a multi-part message in MIME format.\n\n";

  $email_message .= "--{$mime_boundary}\n";
  $email_message .= "Content-Type: text/html; charset=utf-8\n";
  $email_message .= "Content-Transfer-Encoding: 8bit\n\n";
  $email_message .= $email_txt;
  $email_message .= "\n\n";

  $email_message .= "--{$mime_boundary}\n";
  $email_message .= "Content-Type: text/plain; charset=utf-8\n";
  $email_message .= "Content-Transfer-Encoding: 8bit\n\n";
  $email_message .= trim(strip_tags(str_replace(array('<br/>','<br />','<br/>'),"\r\n",$email_txt)));
  $email_message .= "\n\n";

  $email_message .= "--{$mime_boundary}--";
  $ok = @mail($email_to, $email_subject, $email_message, $headers); 

  return $ok;
}
?>

Eğer düzgün biçimlendirilmiş bir posta geldiğinde, muhtemelen tarafından filtreleri geçmek mümkün olacak.

Spam belirlenmesi tamamen istenmeyen sezgisel taramaya çalışıyor yazılım tarafından belirlenir. Eğer şirket kullandığı anti-spam yazılımı içine bakmak ve onu spam olarak yakalandı yüzden görmek gerekir. Daha fazla değil sizin e-posta sunucusu kurmak ile ilgisi yoktur. Bir çok yazılım kullanan bir anahtar faktör, geçerli bir ters DNS girdi, böylece o içine bakmak olabilir.

Eğer anti-spam yazılımı sadece bir kaç başlıklarını değiştirerek tarafından spam olarak e-posta alıcı etrafında kolay bir yolu olup olmadığını spam de bu yöntemleri bilmek, çünkü, daha sonra anti-spam yazılımı, tamamen yararsız olacağını fark var.

Başlığı 'dan' geçerli bir ekleme yapmak için ilk şey olacaktır, diye düşünüyorum.