2016-10-04 149 views
2

我使用PHPMailer發送電子郵件,evthg效果很好,但我會爲每封電子郵件設置一個uniq MessageID。PHPMailer:替換默認messageID

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

是的,我看着phpMailer類中的preg_match規則,就是這樣,我忘了關閉我的問題,愚蠢的錯誤..但是謝謝! – Julien