Обнаружение рендеринга изображений в электронной почте
Я знаю, что такие сервисы, как 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");