Обнаружение рендеринга изображений в электронной почте

Я знаю, что такие сервисы, как SendGrid, уже имеют встроенные плагины для этого. Но я хочу создать свой собственный модуль для этого.

Причина, по которой я это делаю, заключается в том, что мое приложение использует несколько разных SMTP-серверов, указанных пользователем.

Возможно ли вообще создать один модуль для разных серверов smtp?

1 ответ

Решение

Абсолютно! Это также относительно просто, на самом базовом уровне вы делаете следующее:

  • Присвойте каждому электронному письму, которому вы отправляете, уникальный идентификатор, в сообщении электронной почты поместите ссылку на скрипт на вашем сервере с уникальным идентификатором. (например <img src="https://example.com/img?id=1 >)
  • когда /img?id=N называется ваш код войти в id а затем подать изображение.

Более конкретный пример в PHP будет выглядеть примерно так:

Почтовый отправитель:

$img = '<img src="https://example.com/img.php?id=' . generate_email_id() . '">';
mail("test@example.com", "This is a test.", "Hello! I hope this test works!" . $img);

img.php:

log_email_by_id($_GET['id']);
header("Content-type: image/jpeg");
readfile("pixel.jpg");
Другие вопросы по тегам