email - 如何识别人类发送的电子邮件?

标签 email imap email-spam imaplib email-headers

我正在开展一个项目,我需要识别由真人发送的电子邮件,而不是群发邮件、通知和时事通讯。有没有明确的方法可以做到这一点?电子邮件标题中是否有任何信息可以提供帮助。我在 Gmail IMAP 上工作,所以我已经有了非垃圾邮件。

在这方面的任何帮助表示赞赏。谢谢!

最佳答案

没有明确的方法来区分批量邮件和个性化邮件。与垃圾邮件不同,大多数群发邮件是请求/预期的,因此发件人不会做奇怪的事情来绕过垃圾邮件过滤器,这意味着这些电子邮件通常会很好地融合在一起。

但是,您可以寻找一些趋势。如果您想可靠地做到这一点,您可能需要应用一些评分系统,例如垃圾邮件过滤器。

您还需要接受,您一定会遇到很大比例的误报和漏报。

一些在个性化信件中较少出现的群发邮件常见的内容:

  1. “收件人”和“抄送”地址不包含本地收件人。有时发件人会发送到“mailList@mydomain.com”而不是“recipientA@recipientAdomain.com”、“recipientB@recipientBdomain.com”等。在这些情况下,也有可能“收件人”中只出现一个地址“抄送”中没有任何内容
  2. “发件人”地址是“noreply@”、“newsletter@”、“do-not-reply@”、“mailinglist@”,甚至是“support@”或“sales@”等不太常见的术语(但请记住,它们可能会导致误报)
  3. 存在“List-Unsubscribe:” header
  4. 该消息包含取消订阅链接。运行模式匹配以查找电子邮件最后几行中的常用短语。查找链接或“退订”、“选择退出”等字词。
  5. 邮件列表往往包含丰富的内容。检查大量使用 CSS 和大量图像,整个消息包含在 <table></table> 中或 <ul><li></li></ul>结构体。即 Dreamweaver 之类的东西,而不是邮件客户端。
  6. 邮件顶部的标题或粗体内容。如果消息的第一部分类似于时事通讯,则它很可能是时事通讯。
  7. 大量链接或频繁链接到相同(或相同的几个)网站。时事通讯将尽可能多地引导用户访问公司的网站。如果链接域与发件人域匹配(或相似),您可能会得到更高的分数。
  8. 大量提及社交媒体。如果它是包含多篇文章的时事通讯,每个故事可能都有自己的“Tweet this”、“Like this”链接。个人用户可能(最多)包含一次对 Twitter、Facebook 等的引用(在他们的签名中)
  9. 通知和其他自动生成的消息通常遵循相同的基本格式。如果您有能力,请对以前的消息进行某种差异或其他比较。强匹配意味着自动化。
  10. 没有问候语,也没有通用的问候语。然而,个人电子邮件通常也会跳过“Dear Fred”部分,因此这本身并不是一个足够好的检测;但“尊敬的用户”或“尊敬的客户”之类的词几乎可以肯定是通用的。
  11. 不太可能以“问候,Ian”或“您真诚的,John Doe”结尾
  12. 发件人以前得分很高。保持纪录。如果一个发件人多次触发高分,他们几乎可以肯定是群发邮件。

关于email - 如何识别人类发送的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093710/

相关文章:

java - 如何获取不早于 X 秒的电子邮件?

java - 如何制作垃圾邮件测试器

Java 邮件消息传递异常

email - 纯文本电子邮件中可以使用上标吗?

php - 在 IMAP 服务器上将电子邮件设置为 SEEN

php - fsockopen,连接 ssl ://imap server 时证书验证失败

node.js - 邮件监听器2 - 连接结束

javascript - 好的非侵入式反垃圾邮件混淆器?

machine-learning - Weka 中的测试用例

email - NLog 限制在设定时间内记录相同错误的次数