首页 > 解决方案 > 是否有可靠的方法来自动检测电子邮件中的按钮和确认代码?

问题描述

我发现在我的手机上接收短信的自动复制代码功能非常好,并希望为我的电子邮件实现类似的功能。到目前为止,我已经能够将传入的电子邮件挂钩到一个函数中并使用 解析它们node-imap,但我正在努力处理实际的代码自动检测。

例如,有些验证码是 6 个数字/大写字母,例如123X4Y. 有些短一些,有些长得多,所以我随意编写了正则表达式\b[0-9A-Z]{5,12}\b(我从 5 开始,因为许多电子邮件的版权日期在底部是 4 个数字)。这工作得很好,但不会捕获所有代码,偶尔会捕获不相关的信息。

此外,很多时候,电子邮件只包含一个大的“确认”或“验证”按钮,而不是代码。在这些情况下,我目前只是在链接文本或 中寻找带有确认或验证字样的链接href,但这在很多时候也失败了。

我想知道是否有任何方法可以更可靠地从电子邮件中捕获操作按钮和确认代码!

标签: javascriptnode.jsregexemailautomation

解决方案


在没有某种计算机视觉的情况下,没有可靠的方法来检测电子邮件中的按钮,因为它们可以采用无限多种形式(带有锚点的填充表格单元格,样式化的锚点等)。

您可以通过一点 NLP 获得确认码——您可以采取一种简单的方法,只寻找“确认”或“验证”之类的关键字,或者您可以使用 NER(命名实体识别)模型来识别确认电子邮件中的代码。

作为 NER 的替代方案,您可以简单地在主题行的编码向量上运行朴素贝叶斯分类器,以识别电子邮件是否包含确认码。如果您能够确定该电子邮件是“确认”电子邮件,则可以插入上面的正则表达式并解析出代码。


推荐阅读