如何读取 maildir 中的单个文件?

如何读取 maildir 中的单个文件?

在我的 Linux 开发系统上我使用假邮件将邮件写入目录而不是发送邮件。邮件文件包含邮件头和邮件正文,格式为 quoted-printable、text/plain,采用 UTF-8 编码。如何读取单个邮件文件并“解码” quoted-printable,以便正确显示换行符和特殊字符?

以下是带有换行符和特殊字符的德语邮件文件的示例:

Message-ID: <[email protected]>
Date: Fri, 07 Oct 2011 10:53:26 +0200
Subject: Registrierung
From: [email protected]
To: [email protected]
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hallo,

Sie haben sich auf Meinserver.de als Benutzer regist=
riert. Um Ihre
Registrierung abzuschlie=C3=9Fen, klicken Sie auf folg=
enden Link:

http://meinserver.de/benutzer/bestaetigen/3lk6lp=
ga1kcgcg484kc8ksg

我希望用适当的字符替换特殊字符,并删除由 quoted-printable 编码插入的换行符(末尾带有“=”的换行符)。

答案1

好的,根据一些谷歌搜索和 mailq 的有用评论,我在这里回答我自己的问题。

简而言之:我安装并使用了mutt。我不得不对我的设置进行一些调整:在my_dirfakemail 创建邮件文件的目录中,我创建了目录newcurtmp并指向fakemailmy_dir/new然后我使用 启动了 mutt

mutt -f my_dir

现在我可以查看新邮件,查看旧邮件,变音符号可以正确显示 - 完美!

答案2

答案是:只管去做。

使用你喜欢的编程语言的 API 来解析MIME 邮件并解码引用可打印base64。或者您可以自己编写软件来实现相关标准。

两种选择都行得通。选择正确的并去做。(然后查看 Stackoverflow 了解详细信息,因为这超出了 Serverfault 的范围)。

相关内容