Можно ли как то передать свои параметры через SMTP в phpMailer?

Всем привет. Нужно передать пользовательский параметр почтового сервиса в письме с помощью библиотеки phpMailer, подскажите это можно сделать? Если да, то как? Параметр нужно передать в json.


Ответы (1 шт):

Автор решения: Total Pusher

Если я правильно понял, нужно передавать json в каком-то скрытом поле, которое должна обрабатывать другая система.

Тогда подходят кастомные заголовки письма, которые имеют префикс X-.

Вот код, который добавляет такой заголовок:

// Создаем объект PHPMailer
$mail = new \PHPMailer\PHPMailer\PHPMailer(true);

// Добавляем кастомный заголовок
$mail->addCustomHeader('X-My-Json', json_encode(["foo" => "bar"]));

// Выводим для отладки все заголовки
echo var_export($mail->getCustomHeaders());

Отладочный вывод:

array (
  0 => 
  array (
    0 => 'X-My-Json',
    1 => '{"foo":"bar"}',
  ),
)
→ Ссылка