完整的邮件标题

新手上路,请多包涵

我需要一组邮件标头附加到我的 mail() PHP 函数。我发送带有 HTML 的电子邮件,有时像 Yahoo Mail 这样的服务会阻止它们。因此,我需要确保我至少提供了正确的标题。

我的代码:

 // To send HTML mail, the 'Content-type' header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'From: MyCompany <welcome@mycompany.com>' . "\r\n";

还有什么我应该补充的吗?

原文由 johnnietheblack 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 323
1 个回答

PHP 7.2+ 解决方案

在当前版本的 PHP 中,可以将一组标头传递给 mail() (如 PHP 文档 中所述),因此代码看起来会更简洁一些。 ( Sablefoste 在他们对当前最佳答案的评论中提到了这一点。)

如果有人感兴趣,它可能如下所示:

 $headers = [
    'From' => 'testsite <mail@testsite.com>',
    'Cc' => 'testsite <mail@testsite.com>',
    'X-Sender' => 'testsite <mail@testsite.com>',
    'X-Mailer' => 'PHP/' . phpversion(),
    'X-Priority' => '1',
    'Return-Path' => 'mail@testsite.com',
    'MIME-Version' => '1.0',
    'Content-Type' => 'text/html; charset=iso-8859-1'
];

mail('recipient@host.com', 'My subject', 'My message', $headers);

原文由 oelna 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏