我的PHP邮件是用错误的日期发送的&时间我已经设置了我的PHP时间:
date_default_timezone_set('Europe/Brussels');
当我
echo date('r'); //returns correctly: Thu, 02 Aug 2012 13:28:00
我得到了正确的时间。然而,当我发送邮件时,邮件的日期是现在的时间+1天+1小时。
我到处搜索了一下,发现了一些旧文档,其中有一个PHP错误,但这些错误发生在2001年和2005年,所以我认为我做错了其他事情。。。我希望邮件的发送不会有错误,因为它确实被发送了,但我无论如何都会发布我的代码:
<?php
session_start();
date_default_timezone_set('Europe/Brussels');
$receiver = 'test@yourhost.com';
$subject = 'Test';
$message = 'This is a test';
$receiver = $email;
$headers = "From: me@myhost.com" . "rn" . "X-Mailer: PHP/" . phpversion();
if(mail($receiver,$subject,$message,$headers)){
//This is done
}
?>
这是php.ini的错误配置
在php.ini中,搜索:
; date.timezone
替换whit:
date.timezone = America/New_York
并重新启动apache
支持的时区列表:
http://www.php.net/manual/en/timezones.php
编辑:在htaccess中,时区应该以这种方式使用:
php_value date.timezone "Europe/Brussels"
阅读以下内容:-
http://php.net/manual/en/function.date-default-timezone-set.php
http://php.net/manual/en/function.date-default-timezone-get.php
或
试试这个
date_default_timezone_set( 'America/New_York' );
//或
ini_set('date.timezone', 'America/Los_Angeles');