PHP发送的电子邮件没有日期

时间:2013-09-02 08:20:13

标签: php email

我有两个关于php的mail()函数的问题似乎没有日期? 每当我打开我的网络邮件(one.com的松鼠邮件)时,所有使用php邮件发送给自己的邮件(我正在测试我正在开发的系统)总是在今天收到,有时候在今天晚些时候=将来收到。

另外,当打开Thunderbird中的邮件时,它显示为html邮件,但是当在webmail或我的Galaxy S3上打开它们时,没有标记,只有纯文本和第一行中的“ - ”? / p>

我的标题是:

$headers = "From: ***.dk <noreply@***.dk> \n";
$headers .= "Reply-To: noreply@***.dk \n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";

并且开头和结尾的html是:

const init = <<<'END_OF_STRING'
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <html>  
    <head>
    <link rel="stylesheet" type="text/css" href="http://***.dk/development/stylesheets/basic.css" />
    <link rel="stylesheet" type="text/css" href="http://***.dk/development/stylesheets/front.css" />
    </head>
    <body>
    <div id="pageWrap">
    <a href="http://***.dk/development/?page=home"><div id="header">&nbsp;</div></a>
    <div id="descriptionText">
END_OF_STRING;

const theend = <<<'END_OF_STRING'
    <!--descriptionText--></div>
    <!--pageWrap--></div>
    </body>
END_OF_STRING;

提前致谢!:D

2 个答案:

答案 0 :(得分:2)

将前两行更改为:

$headers = "From: ***.dk <noreply@***.dk> \r\n";
$headers .= "Reply-To: noreply@***.dk \r\n";

你遗漏了\r

关于HTML电子邮件的问题,您需要简化它。许多邮件读者会忽略<head>和CSS链接等部分。如果您使用谷歌“html email css”,您将找到有关如何创建HTML电子邮件的一些信息,这些信息将在各种系统中一致呈现。

答案 1 :(得分:1)

你能不能把日期放在邮件末尾:echo date(DATE_RFC822);?有些人实际上是这样做的。