2016-10-04 12 views
2

私はPHPMailerを使用してメールを送信していますが、evthgはうまく動作しますが、メールごとに一意の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'; 

結果:これは常にデフォルトですphpmailerのによって生成されたMESSAGEID:

enter image description here

なく鉱山... :(

をその後、私はsthgよりシンプル試してみました:

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

結果:KO(同)

ドキュメントには、MessageIDを設定できることが示されています。文字列である必要があります。どんな理由でうまくいかないのですか...

ご存知ですか?

答えて

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

関連する問題