我在服务器上安装了php 4.x,我有一个发送邮件的脚本,一般来说,我收到的10封邮件将没有正文,但主题将在那里。邮件发送代码如下。
$headers = "MIME-Version: 1.0 \n";
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
$headers .= "From: Contact Form <contact_form@mycompany.com> \r\n";
$headers .= "Request Form: $name ($contactid)";
$subject = "Request: $name";
$body = "Name: $name<br />Email: $email<br />Phone: $phone<br/>";
mail("myname@gmail.com",$subject,$body,$headers);
背后的原因是什么?这是我编写的脚本或SMTP服务器的问题。
答案 0 :(得分:2)
根据RFC 2822:
标题字段是由字段名称组成的行,后跟冒号(“:”),后跟字段正文,并由CRLF终止。
字段名称必须由可打印的US-ASCII字符组成(即字符值介于33和126之间的字符),冒号除外。
您的标头不符合此格式。一些接收邮件服务器可能更严格,可能因此而拒绝您的邮件。将其更改为:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Contact Form <contact_form@mycompany.com>\r\n";
$headers .= "Request-Form: $name ($contactid)\r\n";
\ r:回车车厢 \ n:换行
它能解决您的问题吗?