ruby - 从电子邮件中删除签名和回复

标签 ruby email parsing

我目前正在开发一个允许用户回复发送的通知电子邮件的系统(叹息)。

我需要去掉回复和签名,这样我就只剩下回复的实际内容,没有任何杂音。

有人对执行此操作的最佳方法有任何建议吗?

最佳答案

如果您的系统是内部系统和/或您的回复格式数量有限,则可以做得很好。以下是我们为 trac 票证的电子邮件回复设置的过滤器:

删除之后的所有文本,包括:

  1. 等于 '--\n' 的行(标准电子邮件 sig 分隔符)
  2. 等于 '--\n' 的行(人们经常忘记 sig 分隔符中的空格;这在 sig 外部并不常见)
  3. '-----Original Message-----' 开头的行(MS Outlook 默认值)
  4. '________________________________________' 开头的行(32 下划线,还是 Outlook)
  5. 'On ' 开头并以 ' 结尾的行 wrote:\n'(OS X Mail.app 默认)
  6. 'From: ' 开头的行(故障保护四种 Outlook 和其他一些回复格式)
  7. 'Sent from my iPhone' 开头的行
  8. “从我的黑莓手机发送” 开头的行

数字 3 和 4 是“开始于”而不是“等于”,因为有时用户会不小心将行挤在一起。

我们尝试更自由地删除回复,因为(对我们来说)回复垃圾比更正丢失的文本更令人烦恼。

有人想分享其他来自野外的格式吗?

关于ruby - 从电子邮件中删除签名和回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372694/

相关文章:

ruby-on-rails - 在 Rails 编辑操作表单中,隐藏表单字段

ios - 带有附件下载 API 支持的一次性临时电子邮件

java - Google App Engine (Java) 中的 HTML 格式电子邮件

ios - Swift:无法解析 JSON 数据

c - 第一个 C 编译器使用了什么样的词法分析器/解析器?

C++ - 无法将 CSV 解析到我的结构中

ruby - 我如何在 MiniTest 中 stub ?

ruby-on-rails - 如何处理 rails 中 graphql 突变的错误

ruby-on-rails - Ruby on Rails 3,多个域的电子邮件验证?

c++ - 我如何解析电子邮件以获取电子邮件的原始收件人?