为啥发件人行在我的邮件功能上不起作用?

Posted

技术标签:

【中文标题】为啥发件人行在我的邮件功能上不起作用?【英文标题】:Why is the From line not working on my mail function?为什么发件人行在我的邮件功能上不起作用? 【发布时间】:2010-12-21 21:24:51 【问题描述】:

我正在使用邮件功能将 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 的 Postmaster,但它显示为来自我的托管服务提供商 ideapale@box486.bluehost.com。

我没有正确设置什么?

【问题讨论】:

【参考方案1】:

克里斯,尝试在&lt;some@body.com&gt; 之后添加\r\n。我发现 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.' &lt;'.$fromemail.'&gt;'; 和 $to 只是一个电子邮件地址。

【讨论】:

以上是关于为啥发件人行在我的邮件功能上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 TextFormat 在我的 TextArea 上不起作用?

为啥这个 jQuery 在我的 Sharepoint 页面上不起作用?

为啥宽度属性在我的桌子上不起作用?

为啥填充在我的标签元素上不起作用?

为啥 w3.css Side navbar 在我的页面上不起作用?

为啥 chrome 远程调试在我的三星 Galaxy S10 上不起作用?