PHPMailer:替换默认的messageID

时间:2016-10-04 15:37:16

标签: php html nginx smtp phpmailer

我使用PHPMailer发送电子邮件,evthg运行良好但我会为每封电子邮件设置uniq MessageID。

PHPMailer版本:" v5.2.16"

(从https://github.com/PHPMailer/PHPMailer.git加载Composer)

我在这里找到了文档: 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';

结果:这始终是PHPMailer生成的默认MessageID:

enter image description here

而不是我...... :(

然后我尝试了更简单:

 $mail->MessageID = "blablag@domain.com";

结果:KO(相同)

文档表明我们可以设置一个MessageID,它应该是一个字符串,我根本不明白为什么它不起作用......

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

MessageID的结构应为:

<sometext@sometext>

如果您的MessageID没有这个确切的结构 - PHPMailer会忽略您的MessageId并生成它自己的MessageId。

您可以将代码更改为:

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

它应该有用。