我正在使用邮件功能将html发送到电子邮件地址,但发件人姓名和电子邮件地址未显示。这是我的代码:
$name = $_POST['name'];
$mailTo = 'name@email.com';
$subject = 'Message from ' . $_POST['name'];
$message =
'<html>
<head>
<title>HTML email</title>
</head>
<body>
<p><b>Name:</b> ' . $_POST['name'] . '</p>
<p><b>Email:</b> ' . $_POST['email'] . '</p>
<p><b>Message:</b> ' . $_POST['mainmessage'] . '</p>
</body>
</html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Postmaster <some@body.com>';
mail($mailTo, $subject, $message, $headers);
我希望这封电子邮件显示为来自Postmaster的电子邮件地址some@body.com,但它显示为来自ideapale@box486.bluehost.com,这是我的托管服务提供商。
我没有正确设置什么?
答案 0 :(得分:0)
Chris,尝试在\r\n
之后添加<some@body.com>
。我发现在与邮件服务器交谈时,php会非常挑剔。
编辑:只是为了多一点帮助,我在我的一个工作脚本中有这个(几乎完全是你的):
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$to . "\r\n";
$headers .= 'From: ' .$from. "\r\n";
...其中$from = $fromname.' <'.$fromemail.'>';
和$ to只是一个电子邮件地址。