2010-04-08 104 views
3

我使用PHP的邮件功能发送邮件。 它的工作原理与所有电子邮件客户端显示的空白字段一样。 这里就是我如何使用功能:使用PHP的邮件发送的邮件()有空白字段

mail('[email protected]', 'Example subject', $msg, 
     implode('\r\n', array('Content-Type: text/html; charset=UTF-8', 'From: [email protected]'))); 

正如我所说的一切工作,除了从外地当邮件到达所有空白的罚款。 任何想法为什么发生这种情况?

+0

这种鳕鱼e会产生一个解析错误。你可以展示一个真实的代码吗? – 2010-04-08 06:57:10

+0

啊对不起,不得不编辑一下。秘密的东西你知道。) 现在应该工作 – Nikkeloodeni 2010-04-08 06:58:26

+0

那么,这个编辑的代码的结果是什么? – 2010-04-08 07:02:39

回答

1

您在“Content-Type”之前缺少一个报价,并且可能错误日志记录转向了下方,因此它忽略了问题并且无法解析您的代码。

应该是:

mail('[email protected]', "Example subject", $msg, 
     implode("\r\n", array('Content-Type: text/html; charset=UTF-8', 'From: [email protected]'))); 
+0

正确绝对正确 – 2010-04-08 06:57:50

2

试试这个

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

对你的想法 入住这就是你得到

<?php 
    $implode =implode("\r\n", array('Content-Type: text/html; charset=UTF-8', 'From: [email protected]')); 

    echo "<pre>"; 
    print_r($implode); 
    ?> 
+0

这确实有效,但我仍然无法得到它为什么我的版本不包括From头?我也尝试添加X-Mailer和Reply-To标题,但在发送的电子邮件中仍然没有发件人字段。 – Nikkeloodeni 2010-04-08 07:00:57

+0

试试做邮件功能的implode并将它保存为一个变量,然后我们在邮件函数中使用这个变量 – 2010-04-08 07:05:16

+0

在我的更新回答中找到您的代码的方向 – 2010-04-08 07:11:16