Posta Başlıkları

6 Cevap php

Ben kayıt sürecinin bir parçası olarak bir onay maili göndermek wich bir web sitesi var.

Bir süre önce, ben hiçbir başlıkları (php mail fonksiyonu) kullanılan beri gönderilen mailler ile bazı sorunlar vardı.

Ben bazı başlıkları koymak, ben kullanıcılardan daha reponses var ama ben her mesaj hedefine ulaşamıyor sanıyorum.

Nasıl mesajlar Psikofarmakolojik hedefe ulaşmak emin olabilirim?

Wich bir 'zorunluluk' olarak kabul edilebilir başlıkları nelerdir?

Bu benim SendMail fonksiyonun kodudur

mail($to,
	$subject,
	    $message,
            "MIME-Version: 1.0\n".
            "Content-type: text/plain; charset=ISO-8859-1; format=flowder\n".
            "Content-Transfer-Encoding: 8bit\n".
            "Message-Id: <" . md5(uniqid(microtime())) . "@mysite.com>\n".
            "Return-Path: <admin@mysite.com>\n".
            "X-Mailer: PHP v".phpversion()."\n".
            "From: admin@ mysite.com");

Teşekkürler

6 Cevap

The headers need a white space at the bottom to separate the header from main body. Tools like Spam Assassin will give you a big mark down for that.

Ayrıca kullanmalısınız \r\n yerine \n bir satır sonlandırıcı olarak

From PHP.net

Birden ekstra başlıklar CRLF (\ r \ n) ile ayrılmalıdır.

Sen PhpMailer, SwiftMailer veya Zend_Mail gibi php e-postalar ile çalışmak için harici kitaplık kullanmalısınız. Tüm sorunlar ortadan kalkar.

Başlıklar bana oldukça iyi görünüyor. Gördüğüm tek aksaklık itibaren başlığında ekstra bir boşluk olduğunu.

Ben zaten bunu kontrol, ama sadece durumda eminim ...

"From: admin@ mysite.com");
  should be (?)
"From: admin@mysite.com");

Bu html posta için kullanıyorum ve değişken $ dönüş başarısız teslimat durumunda posta sunucusundan hata raporu almak için tanımlanan bir çalışma posta fonksiyonudur.

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: <'.$from.'>' . "\r\n";
$return = '-f'.$from;

@mail($to, $subject, $msg, $headers, $return);

Burada daha fazla ayrıntı görebilirsiniz sugunan.com

Başlıkları @ Eineki tarafından işaret ayrıntılar haricinde, Tamam bak. Windows kullanıyorsanız Ayrıca eğer bu sorun neden olabilir, çünkü (nedeniyle yolu, form "user@mail.com" ve "Kullanıcı adı user@mail.com" de param posta $ göndermek gerekir ) işlevi Windows platformu üzerinde uygulanan, "için" adres yanlış ayrıştırılır olabilir.

None verilir (ve o arasındaki kayıp alırsa (RFC5322 tarafından zorunlu) bir Date: başlık eklemek gerekir ve bazı posta istemcileri bir e-posta tarih olarak 1 Ocak 1970 varsayabiliriz tüm diğer eski mesajlar).