我使用邮件功能来发送的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);

我期望的电子邮件显示为来自邮政处于电子邮件地址some@body.com,但它显示为来自ideapale@box486.bluehost.com来,这是我的托管服务提供商。

我是怎么设置不正确?

有帮助吗?

解决方案

克里斯,尝试\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.'>';和$到只是一个电子邮件地址。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top