在 phpmailer 中设置紧急选项
我如何使用phpmailer发送邮件,并像在MS Outlook中那样设置紧急选项?
这是通过向出站电子邮件添加重要性和优先级标头来完成的。MS Outlook 使用自己的特定邮件,而大多数其他邮件客户端使用 或 。通过方法和属性将它们与PHPMailer一起添加。Importance
Priority
AddCustomHeader()
$Priority
// 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");
请注意,邮件客户端可以自由地不实现/忽略这些标头,因此您不能完全依赖它们。此外,许多垃圾邮件过滤器会将其用作识别垃圾邮件的危险信号。请谨慎使用它们。
官方文件:
补充:
这项工作很好,但某些垃圾邮件过滤器将使用优先级配置(与设置的优先级无关)来过滤垃圾邮件。
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;
使其有点可配置