所以我最近开始使用“SMTP 中继服务器提供商”,并且很好奇他们是如何完成一些工作的。
具体来说,他们会告诉你以下事情:
- 出站
- 发送
- 失败的
- 投诉
- 打开
- 点击次数
- 取消订阅
- 入站
出站很容易。他们怎么知道发送了多少封邮件,有多少封失败了?我尝试通过他们的 SMTP 发送一封电子邮件,邮件地址已知是好的,已知是坏的,结果都给了我“250 2.1.5 收件人 <...> OK”的回复。
通常情况下,如果我收到退回邮件,我会认为发生了故障,但 (1) 这可能需要一段时间,并且 (2) 他们只是 SMTP 服务器,而不是 POP3 / IMAP 提供商。
我原本以为,对于取消订阅,他们使用的是取消订阅列表标头,但我在电子邮件标头中没有看到。另外,我猜想这需要他们拥有用于访问电子邮件的 POP3 / IMAP 服务器,这似乎不太可能。
也许还有投诉标题?我在标题中也没有看到任何内容。
那么“打开”和“点击”是如何工作的呢?如果他们有一个隐藏的 1x1 图像,我可以看到是否有人打开了电子邮件,如果我有一个唯一的 URL,有人可以点击每封电子邮件,这可能是他们点击的方式,但我看不到任何这些。
有任何想法吗?
谢谢!
答案1
我们首先假设他们要么编写了 SMTP 传输代理,要么在现有代理上使用插件模型。
浏览列表
- 出站:每次他们排队一条消息,他们就会增加计数器。
- 发送:对于每个成功传递的消息出队,它们都会增加该计数器。
- 失败的:每次生成或传递失败通知时,他们都会递增此计数器。(请记住,如果您的域的 MX 记录指向他们,他们就不需要 POP3/IMAP,因为他们可以检查正在发送到您的服务器的电子邮件)
- 投诉:视情况而定,他们可能只是在寻找已发送至 的消息
[email protected]
,或者他们可能正在使用热词或短语对回复进行某种处理。(例如:“将我从您的列表中删除”-> 投诉) - 打开:通常,提供商会编辑 HTML 电子邮件正文,以包含一个具有唯一 URL 的 1px 透明图像。然后,当请求该图像时,他们会假设电子邮件正在被阅读。这并不完全准确,因为 Apple 产品会预先缓存引用的图像,而 Microsoft Outlook 不会加载图像以避免这种跟踪。
- 点击次数:提供商会即时编辑 HTML,让所有链接指向他们托管的唯一 URL。然后,当用户点击链接时,他们会被带到提供商的网站,该网站会更新统计信息并将他们重定向到原始目标。通常,这种重定向使用
HTTP 307
透明发生的。 - 退订:与点击跟踪类似,他们可以编辑取消订阅链接或
List-Unsubscribe
标题的目标,以指向他们的服务,然后将其重定向到您 - 入站:对于每封排队的入站电子邮件,他们都会递增此计数器。当然,他们需要从您的域到他们的服务器的 MX 记录来提供此类服务。