16

如何使用 phpmailer 发送邮件,其中设置了 MS Outlook 中的紧急选项?

4

2 回答 2

29

这是通过向出站电子邮件添加重要性和优先级标头来完成的。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 属性

PHPMailer 方法

于 2012-05-26T13:55:54.900 回答
1

补充:

这项工作很好,但一些垃圾邮件过滤器将使用优先级配置(设置哪个优先级无关紧要)来过滤垃圾邮件。

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

所以在我的 php Mailer 类中,我会评论这条线

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

也许像这样的解决方案:

类.phpmailer.php

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

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

$yourMessage->Priority = 0;

使它有点可配置

于 2016-04-06T10:17:08.967 回答