检测电子邮件中的图像渲染

时间:2013-08-06 15:29:45

标签: html-email email-client image-load

我知道像SendGrid这样的服务已经有了内置的插件。但我想为此构建我自己的自定义模块。

我这样做的原因是我的应用程序使用了用户指定的几个不同的smtp服务器。

为不同的smtp服务器创建一个模块是否可行?

1 个答案:

答案 0 :(得分:1)

绝对!它也相对简单,在最基本的层面上你会做到以下几点:

  • 为您发送的每封电子邮件分配一个唯一ID,在电子邮件中添加对您服务器上具有唯一ID的脚本的引用。 (例如<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");