代码之家  ›  专栏  ›  技术社区  ›  shorton

mime将电子邮件提取回mbox格式

  •  2
  • shorton  · 技术社区  · 7 年前

    MIME::Tools MIME::Parser

    我试着让我的脚本在解析时将它们输出到单个文件中,并使用 From me\@myserver.com Fri Sep 1 15:18:53 2017\n . 这对于在服务器上查看mailx来说已经足够了,但Dovecot抱怨道: dovecot: imap(me): Error: Syncing INBOX failed: Mailbox isn't a valid mbox file

    1 回复  |  直到 7 年前
        1
  •  0
  •   shorton    7 年前

    最初我是在写。。。\n“为了确保每个From前面都有所需的空行……我认为最初的空行是Dovecot不满意的。

    我重写了它,当原始解析脚本将消息附件分解出来时,我添加了下面的两行(在编写单个消息的那一行之前和之后)。所以现在它不是从一个空行开始的。

    print OUT "From me\@myserver.com  Fri Sep  1 15:18:53 2017\n";
    $ent->bodyhandle->print(\*OUT);
    print OUT "\n\n";
    

    OUT是生成的mbx文件。由于原始邮件具有内容长度标头,因此至少Dovecot和Outlook对生成的格式感到满意。所以我觉得我现在很好。