1

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

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

我的标题是:

$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;

提前致谢

4

2 回答 2

2

将前两行更改为:

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

你漏掉了\r

关于 HTML 电子邮件的问题,您需要对其进行简化。许多邮件阅读器会忽略诸如<head>和 CSS 链接之类的部分。如果你在谷歌上搜索“html email css”,你会发现一些关于如何创建在各种系统中一致呈现的 HTML 电子邮件的信息。

于 2013-09-02T08:25:42.150 回答
1

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

于 2013-09-02T08:33:10.683 回答