IMAP错误:BAD [PARSE]读取括号列表时出现语法错误

时间:2014-12-12 16:41:15

标签: perl imap

我使用perl和Mail::IMAPClient lib。当我尝试使用

从MAIL.RU获取标题时
$message_id = $imap->parse_headers($msg,"Message-id")->{"Message-id"}->[0];
调试中的

我可以看到BAD [PARSE] Syntax error while reading parenthesized list 这个袋子在这里描述mail.ru bag

我无法更改lib,因为其他邮件服务保留了RFC中的内容。我发送了报告(可能没有先报告),但我没有时间等待回应。什么是解决此问题的最佳解决方案?如果服务器是MAIL.RU,请再向parse_headers发送一个参数

1 个答案:

答案 0 :(得分:4)

这是一个困难的问题。 mail.ru服务器显然行为不正确。

我唯一的建议是尽量只依赖协议中最常用的位。在这种情况下,请尝试发出FETCH ENVELOPEFETCH BODYSTRUCTURE而不是FETCH BODY.PEEK[HEADER.FIELDS (Message-ID)]。后者并不常见,根本不是,但前者是协议中最常用的位,因此有理由希望mail.ru可能已经测试ENVELOPE和{{ 1}}足以捕获任何会扰乱客户的错误。

祝你好运。