2012-05-26 14 views

risposta

21

Questo viene fatto aggiungendo l'importanza e le intestazioni di priorità all'e-mail in uscita. MS Outlook ne usa uno particolare, mentre la maggior parte degli altri client di posta usa Importance o Priority. Aggiungili con PHPMailer tramite il metodo AddCustomHeader() e la proprietà $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"); 

Nota che client di posta sono liberi di non implementare/ignorare queste intestazioni, quindi non si può fare pieno affidamento su di loro. Inoltre, molti filtri antispam li useranno come una bandiera rossa per identificare lo spam. Usali con cautela.

documentazione ufficiale:

PHPMailer Properties

PHPMailer Methods

0

Supplemento:

Che work's bene, ma un po 'di filtro anti-spam utilizza la configurazione di priorità (questioni Indifferente che La priorità è impostata) per filtrare in SPAM.

E php Mailer imposterà la Bandiera prioritaria SEMPRE. (Predefinito per 3)

Così nel mio php Mailer classe i'd commentet la linea

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

Forse una soluzione come:

class.phpmailer.php

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

E nel tuo php qualcosa di script come questo:

$yourMessage->Priority = 0;

rende un po 'configurabile