PHP:getallheaders()无法在mail()中工作?

时间:2014-08-12 13:56:27

标签: php http header

我正在尝试做类似的事情:

<?php
// Defining function getallheaders() as it is disabled on my host
    function getallheaders() 
    { 
           $headers = ''; 
       foreach ($_SERVER as $name => $value) 
       { 
           if (substr($name, 0, 5) == 'HTTP_') 
           { 
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; 
           } 
       } 
       return $headers;
}

$getheader=getallheaders();

mail("me@domain.com","mail","Headers: \n $getheader");
?>

它给我发了一封邮件:

Headers: Array( 

为什么不邮寄所有标题? Thx提前:))

1 个答案:

答案 0 :(得分:1)

您创建了$heareds变量作为数组。

而不是:

$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;

使用此:

$headers .= str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5))))) .': ' . $value . "\r\n";