16

MS Outlook のように緊急オプションを設定して phpmailer でメールを送信するにはどうすればよいですか?

4

2 に答える 2

29

これは、送信メールに重要度と優先度のヘッダーを追加することによって行われます。MS Outlook は独自のものを使用しますが、他のほとんどのメール クライアントはImportanceまたはを使用しますPriorityAddCustomHeader()メソッドとプロパティを介して PHPMailer で追加し$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");

メールクライアントはこれらのヘッダーを自由に実装/無視できるため、完全に信頼することはできません。また、多くのスパム フィルターは、スパムを識別するための危険信号としてそれらを使用します。注意して使用してください。

公式文書:

PHPMailer のプロパティ

PHPMailer メソッド

于 2012-05-26T13:55:54.900 に答える
1

補足:

これで問題ありませんが、SPAM フィルタの中には、優先度設定を使用して (どの優先度が設定されているかは関係ありません)、スパムをフィルタリングするものがあります。

また、php Mailer は Priority Flag ALWAYS を設定します。(デフォルトは 3)

したがって、MY 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;

少し設定可能にします

于 2016-04-06T10:17:08.967 に答える