在phpmailer中设置紧急选项

时间:2012-05-26 13:47:37

标签: php phpmailer

如何发送带有phpmailer的电子邮件,其中包含紧急设置选项,如MS Outlook?

2 个答案:

答案 0 :(得分:24)

这是通过向出站电子邮件添加重要性和优先级标头来完成的。 MS Outlook使用自己的特定邮件,而大多数其他邮件客户端使用ImportancePriority。通过AddCustomHeader()方法和$Priority属性添加PHPMailer。

// For most clients expecting the Priority header:
// 1 = High, 2 = Medium, 3 = Low
$yourMessage->Priority = 1;
// MS Outlook custom header
// May set to "Urgent" or "Highest" rather than "High"
$yourMessage->AddCustomHeader("X-MSMail-Priority: High");
// Not sure if Priority will also set the Importance header:
$yourMessage->AddCustomHeader("Importance: High");

请注意,邮件客户端可以自由地实现/忽略这些标头,因此您无法完全依赖它们。此外,许多垃圾邮件过滤器会将它们用作识别垃圾邮件的红旗。谨慎使用它们。

官方文件:

PHPMailer Properties

PHPMailer Methods

答案 1 :(得分:0)

<强>补充:

这样做很好,但是一些垃圾邮件过滤器将使用优先级配置(无论设置哪个优先级)在垃圾邮件中进行过滤。

php Mailer将始终设置优先级标记。 (默认为3)

所以在我的PHP Mailer课程中,我会选择这行

$this->HeaderLine('X-Priority', $this->Priority);

也许是一个解决方案:

  

class.phpmailer.php

if($this->Priority > 0) $this->HeaderLine('X-Priority', $this->Priority);

  

在你的php脚本中是这样的:

$yourMessage->Priority = 0;

使其有点可配置