问题
如果没有标准,作为“最大页眉行长度”的好值是什么?
对于SMTP头行的最大长度是否有某种非正式的标准?
上下文
我使用Mime4J解析SMTP消息。
最近,我遇到了一个与非常长的标题行相关的解析失败,这是由微软前沿显然添加的标题引起的。违规的标题行如下所示:
x-forefront-antispam-report:
CIP:94.245.94.31;IPV:NLI;CTRY:IE;EFV:NLI;SFV:NSPM;SFS:(10019020)(4636009)(136003)(376002)(396003)(346002)(39850400004)(2980300002)(62414003)(199004)(189003)(11346002)(2501003)(6916009)(5640700003)(8936002)(126002)(76176011)(9326002)(486006)(2476003)(476003)(33656002)(3480700005)(2906002)(99286004)(568964002)(21480400003)(446003)(606006)(6506007)(15974865002)(14454004)(61614004)(229853002)(33964004)(53546011)(71200400001)(71190400001)(26005)(102836004)(66066001)(186003)(5660300002)(5070765005)(6246003)(246002)(235185007)(55016002)(316002)(966005)(7696005)(356004)(3846002)(8676002)(9686003)(86362001)(54896002)(6306002)(790700001)(236005)(6116002)(106002)(7066003)(7636002)(7736002)(70586007)(25786009)(70206006)(7116003)(52536014)(14444005)(74316002)(7596002)(16586007)(336012)(53386004)(5024004)(45080400002)(478600001)(71440200001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB8PR03MB5548;H:eu22-emailsignatures-cloud.codetwo.com;FPR:;SPF:Pass;LANG:en;PTR:eu22-emailsignatures-cloud.codetwo.com;A:1;MX:1;这导致来自Mime4j的以下解析错误:
org.apache.james.mime4j.MimeIOException: org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length limit (1000) exceeded通过配置Mime4J以接受较长的行,我能够解决这个问题:
msgFactory.setAttribute(
"MimeEntityConfig",
new MimeConfig.Builder().setMaxLineLen(2000).build() );我把它翻了一番,到2000年,因为我有足够的空间堆空间,所以这不是一个问题。
但实际上,我可以通过把最大线长提高到1001来解决这个问题。这个标题行的长度正好是999个字符,默认的Mime4J值是1000,这似乎不仅仅是巧合。
整个问题可能是由于接收到的邮件使用windows行结束(即两个字节而不是一个字节)而导致的错误。
看起来MS Forefront和Mime4j是一致的,因为最大长度是1000,只是有人在线头上交叉了一下。
谷歌给了我这个答案,这意味着没有标准的最大长度:https://stackoverflow.com/a/2721849/924597
有“正确”的价值吗?
发布于 2019-07-24 10:51:51
SMTP定义包含新行序列的最大线长1000八进制。
似乎最前沿的软件是一个有缺陷的软件。
也就是说,软件不能正确地处理任意长的行是很愚蠢的。您根本不需要定义最大长度。
在.NET空间中,我的MIME解析器库没有为解析器定义最大行长,它只有为格式输出定义的最大行长度以符合规范。
发布于 2022-08-17 23:04:32
jstedfast指出的标准才是真正的答案。但请注意,Microsoft (其他人) Outlook可能会在References头中生成行的时间比此稍长(最高可达1012 ish)。
https://stackoverflow.com/questions/57174013
复制相似问题