2

我有一个webmail系统,一段时间以来,我注意到来自一些服务器的电子邮件在标题中带有额外的换行符。

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

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

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

我已经建立了这个regex(\r[a-z-]*:.*)+(\r\r)+([a-z-]*:.*\r)+ 到目前为止它似乎工作,但我觉得有点担心它可能会给我带来问题。

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

4

1 回答 1

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);
于 2013-06-24T18:55:11.767 回答