由于某些原因,我需要从/var/mail/username文件中获取电子邮件。它看起来像是一个仅附加的文件。
我的问题是,根据第一行From username@host Mon Jun 20 16:50:15 2011解析/var/email/username文件的内容是否安全?如果在电子邮件正文中发现了类似的模式呢?
此外,有没有开放源码的ruby脚本可供参考?
发布于 2011-06-20 21:17:31
是的,通过快速浏览RFC specification,这似乎或多或少是解析mbox格式的正确方法
分隔线的结构在不同的实现中有所不同,但是
通常包含"From“的确切字符序列,后跟一个
单个空格字符(0x20),某种电子邮件地址,另一种
空格字符、某种时间戳序列和行尾标记。
还有..。
许多实现也已知转义消息正文行,这些行
以"From“字符序列开头,以防止与不搜索完整分隔符的过于自由的解析器相混淆。在常见情况下,前导的大于号(0x3E)用于此目的(带有"From“变为">From ")。然而,已知的其他实现不会转义这些行,除非它们紧跟在空行之前,或者如果它们看起来还包含电子邮件地址和时间戳。如果这些行已经被转义或引用,则其他实现也会对这些行执行二次转义,而其他实现则完全忽略这些机制。
更新:还有这个:https://github.com/meh/ruby-mbox
https://stackoverflow.com/questions/6411652
复制相似问题