Gmail 变更、更智能的解析和极端情况

Share, analyze, and explore game data with enthusiasts
Post Reply
rumana50
Posts: 76
Joined: Sat Dec 07, 2024 6:47 am

Gmail 变更、更智能的解析和极端情况

Post by rumana50 »

过去几周对于我们的开发团队来说非常忙碌。

其中的亮点包括:我们调试了 Gmail 中一个特别令人讨厌的变化,使我们的 HTML 解析器更加智能,并消除了许多令人讨厌的极端情况。

Gmail 变更
我们首先想到了一个令人费解的问题;突然 阿塞拜疆电话号码资料 之间,两个客户开始在他们的邮箱中看到空白电子邮件。他们都使用自定义脚本将电子邮件发送到他们的 Gmail 帐户,而且他们都没有更改任何内容。这些电子邮件在 Gmail 中看起来是正确的,但在 Groove 中:

Image

我们的登录信息让事情变得更加混乱。事实上,我们从电子邮件提供商Cloudmailin那里收到了空白电子邮件。虽然 Cloudmailin 的功能不如 Sendgrids 那么多,但在传递率方面,它一直非常可靠。

Coudmailin 的团队和我们一样困惑,但他们立即投入所有资源来解决这个问题。虽然不是立即解决的,但他们最终诊断出了问题。

这些空白电子邮件来自 Google,没有内容类型标头。

虽然我们的客户没有做任何改变,但 Google 却做出了一个非常大的改变。他们停止向通过其服务器的消息添加 content-type 标头,我们的客户脚本一夜之间就被破坏了。

值得庆幸的是,Cloudmailin 在发现问题后 15 分钟内就修复了问题,我们立即看到了结果。

更智能的解析
虽然上个月我们为收到的电子邮件做了一些很好的补救,但我们知道我们想做更多。多年来,随着每个新错误的修复,代码已经退化,并且变得越来越难用。

因此,为了清理十大客户端的 HTML 电子邮件,我们开始重写代码。我们不会用细节来烦你,但我们最终采用了模块化设计,不仅允许我们通过电子邮件客户端自定义解析,还可以自定义各个版本的解析。

在我们删除了如下文字后,最终结果是票务全面变得更加干净:

我听说你喜欢电子邮件
那么电子邮件中的电子邮件怎么样?我们绝对不喜欢它;有一次,我们看到对以前消息的内联回复如何导致电子邮件历史记录以递归方式呈现。

真是似曾相识!在对数据库进行一些更改后,我们能够开始跟踪电子邮件之间的引用。现在,我们发出的电子邮件知道最近的电子邮件是否包含上一条消息,并且不会重复呈现它。

每日磨砺
当然,我们花了不少时间来解决那些让 Groove 失去乐趣的小问题。小事如下:

较小屏幕上的链接未对齐
某些电子邮件客户端解析的标签中的 HTML 标签
更好的默认时区,而不是美属萨摩亚
Post Reply