从网站获取空邮件

时间:2012-08-09 11:38:10

标签: php email smtp gmail php4

我在服务器上安装了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:&nbsp;$name<br />Email:&nbsp;$email<br />Phone:&nbsp;$phone<br/>";

 mail("myname@gmail.com",$subject,$body,$headers);

背后的原因是什么?这是我编写的脚本或SMTP服务器的问题。

1 个答案:

答案 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:换行

它能解决您的问题吗?