2016-10-04 148 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