#php #html #nginx #smtp #phpmailer
#php #HTML #nginx #smtp #phpmailer — программа для рассылки #phpmailer
Вопрос:
Я отправляю электронные письма с помощью PHPMailer, evthg работает хорошо, но я бы установил uniq MessageId для каждого электронного письма.
Версия PHPMailer: «v5.2.16»
(загружается с помощью Composer из 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 :
и не мое … 🙁
Затем я попробовал sthg более простым :
$mail->MessageID = "blablag@domain.com";
Результат: KO (тот же)
В документации указано, что мы можем установить MessageId, и это должна быть строка, я вообще не понимаю, почему это не работает…
Есть идеи?
Ответ №1:
Структура MessageID
должна быть:
<sometext@sometext>
Если у вас MessageID
нет такой точной структуры — PHPMailer проигнорирует ваш MessageId
и сгенерирует свой собственный MessageId.
Вы можете изменить свой код на:
$mail->MessageID = "<" . md5('HELLO'.(idate("U")-1000000000).uniqid()).'-'.$type.'-'.$id.'@domain.com>';
И это должно сработать.
Комментарии:
1. да, я просмотрел правило preg_match в классе PHPMailer, и это было так, я забыл закрыть свой вопрос, глупая ошибка .. но спасибо!