获取所有POST数据并发送电子邮件

时间:2012-11-05 12:59:15

标签: php mysql email

我试图使用PHP Mail函数向自己发送所有帖子变量的电子邮件。

到目前为止,我有这个......

$message = foreach ($_POST as $key => $value)
echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

$message = wordwrap($message, 70);

mail('liam@site.co.uk', 'sghting', $message);

只有提交的邮件是我的上一篇文章记录,任何人都可以看到我出错的地方吗?

3 个答案:

答案 0 :(得分:16)

foreach ($_POST as $key => $value)
    $message .= "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

mail('liam@site.co.uk', 'sghting', $message);

$message = foreach ($_POST as $key => $value)不正确,这将迭代结果并存储最后一个。您希望将值存储在$ message变量中,而不是回显它们。

答案 1 :(得分:0)

$message = "";
foreach ($_POST as $key => $value)
$message .= "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

mail('liam@site.co.uk', 'sghting', $message);

答案 2 :(得分:0)

我个人只使用var_export()做这种事情。

$message = var_export($_POST,true);

如果使用并设置为TRUE,则var_export()将返回变量表示形式而不是将其输出。

实践示例为:

mail('name@site.co.uk', 'Export of the Post Data', var_export($_POST,true));

或者,如果您想做更漂亮的事情

$posted_data = var_export($_POST,true);
$message = '
<h4> Debug Registration Form on XXX </h4>
<p>Here is a dump of the posted data</p>
<pre>
'.$posted_data.'
</pre>
';
mail('name@site.co.uk', 'Export of the Posted Data', $message);