我需要一组邮件头来附加到我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";
Run Code Online (Sandbox Code Playgroud)
还有什么我应该补充的吗?
Roh*_*bey 31
$headers = "From: testsite < mail@testsite.com >\n";
$headers .= "Cc: testsite < mail@testsite.com >\n";
$headers .= "X-Sender: testsite < mail@testsite.com >\n";
$headers .= 'X-Mailer: PHP/' . phpversion();
$headers .= "X-Priority: 1\n"; // Urgent message!
$headers .= "Return-Path: mail@testsite.com\n"; // Return path for errors
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
Run Code Online (Sandbox Code Playgroud)
在当前版本的 PHP 中,可以传递一个标头数组(如PHP 文档mail()
中所述),因此代码可能看起来更干净一些。(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);
Run Code Online (Sandbox Code Playgroud)