2016-10-04 1 views
2

Я отправляю электронные письма с помощью PHPMailer, evthg работает хорошо, но я хотел бы установить uniq MessageID для каждого письма.PHPMailer: заменить сообщение по умолчанию

версия PHPMailer: "v5.2.16"

(загружен композитор из https://github.com/PHPMailer/PHPMailer.git)

Я нашел документацию здесь: http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_MessageID

так вот что я пробовал:

$mail = new PHPMailer; 
... 
$mail->MessageID = md5('HELLO'.(idate("U")-1000000000).uniqid()).'-'.$type.'-'.$id.'@domain.com'; 

Результат: Это всегда значение по умолчанию MESSAGEID порождена PHPMailer:

enter image description here

и не моя ... :(

Тогда я попытался sthg более простой:

$mail->MessageID = "[email protected]"; 

Результат: KO (то же самое)

Документация указывает, что мы можем установить MessageID, и она должна быть строкой, я не подставил d на всех почему это не работает ...

Любая идея?

ответ

4

Структура MessageID должна быть:

<[email protected]> 

Если ваш MessageID не имеет точно такую ​​структуру - PHPMailer будет игнорировать вашу MessageId и создать свою собственную MessageId.

Вы можете изменить свой код:

$mail->MessageID = "<" . md5('HELLO'.(idate("U")-1000000000).uniqid()).'-'.$type.'-'.$id.'@domain.com>'; 

И он должен работать.

+0

yes Я смотрел правило preg_match в классе phpMailer, и это было так, я забыл закрыть свой вопрос, глупая ошибка .. но спасибо! – Julien