电子邮件标头中的额外换行符

时间:2013-05-23 17:42:29

标签: regex email email-client email-headers

我有一个webmail系统,一段时间以来已经注意到来自少数服务器的电子邮件在标题中附加了一个换行符。

首先是来自Dmarc的偶然Google报告。大约每周一次。 然后来自Bluebottle的其他自动电子邮件。 其他偶尔来自各种发件人。

来自GoogleBluebottle的额外行总是在同一个地方。 其余的不是。那就是问题所在。 我可以运行一个很好的regex来修复那些来自同一个地方但是对于其他人我不想诱惑信仰并造成更多伤害然后好。

我注意到主要供应商通常不会为此烦恼,但我想打扰。

我构建了这个regex(\r[a-z-]*:.*)+(\r\r)+([a-z-]*:.*\r)+ 到目前为止似乎有效,但我觉得有点担心它可能会给我带来麻烦。

由于不建议使用这种广泛的正则表达式,如果有人遇到过这个问题我想要一些意见。

1 个答案:

答案 0 :(得分:0)

经过一个月的测试。

到目前为止,这似乎没有问题。

$data = preg_replace("/(\r\n)([a-z-]*)(:)(.*)(\r\n)(\r\n)([a-z-]*):(.*)(\r\n)/i", "$1$2$3$4$6$7$8$9", $data);