作为收件人,是不是可以检测电子邮件是通过 Gmail“计划发送”还是“发送”发送的?

Posted

技术标签:

【中文标题】作为收件人,是不是可以检测电子邮件是通过 Gmail“计划发送”还是“发送”发送的?【英文标题】:As a recipient, is it possible to detect if an email was sent via Gmail's "Schedule Send" vs. "Send"?作为收件人,是否可以检测电子邮件是通过 Gmail“计划发送”还是“发送”发送的? 【发布时间】:2020-12-22 04:17:12 【问题描述】:

只是好奇 Gmail 是否标记了电子邮件标题以表示电子邮件是按计划发送还是立即发送。

【问题讨论】:

您的意思是通过 Gmail API 检测到它吗? 不,我的意思是,作为电子邮件的收件人。如果我检查带有标题和标记的原始电子邮件,是否有任何迹象添加到通过“计划发送”发送的电子邮件中? 据我所知。 【参考方案1】:

当我自己对此进行测试时,我找不到任何额外的标题或标题中的任何额外参数。但是,当您安排电子邮件时,Gmail 会将 Date 标头设置为安排的时间。由于您只能以分钟而不是秒为精度来安排电子邮件,因此如果发送电子邮件的时间包括秒,您就可以确定电子邮件没有被安排。在我的实验中:

Date: Sat, 13 Feb 2021 10:17:41 +0100 <- non-scheduled
Date: Sat, 13 Feb 2021 10:20:00 +0100 <- scheduled

为了计算在秒数为零时电子邮件被安排的概率,我们缺少了base rate 安排了多少电子邮件。这是Bayes' theorem的经典应用:

P(计划 | 零) = P(零 | 计划) * P(计划) / (P(零 | 计划) * P(计划) + P(零 | 非计划) * P(非计划) )

地点:

P(零 | 预定)= 1 P(零 | 非预定)= 1 / 60 P(非预定)= 1 - P(预定)

如果您将 X 设置为对已安排的电子邮件数量的最佳估计值,例如 1 / 1000,则如果秒数为零,您将获得确实已安排电子邮件的概率,因为 P = X / (X + 1/ 60 * (1 - X))。 X = 1 / 1000,P = 5.6%。如果我犯了任何错误,请告诉我。

PS:标头包括发送邮件的 Gmail 服务器。谷歌可能使用不同的服务器来处理预定和非预定消息。不过,要想弄清楚这一点,就必须发送更多的电子邮件。

【讨论】:

"P(零 | 非预定) = 1 / 60"。我会对此保持谨慎。计算机和互联网连接中有很多东西与一分钟内的当前秒数相关。

以上是关于作为收件人,是不是可以检测电子邮件是通过 Gmail“计划发送”还是“发送”发送的?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Return-Path 标头检测退回的邮件

Mandrill - 检测转发的电子邮件?

PHP电子邮件表单发件人名称而不是电子邮件?

通过电子邮件将 Google 文档作为纯文本附件发送

Mandrill 通过 REST API 作为单独的消息发送给多个人

获取作为 Exchange 用户的收件人的电子邮件地址