在我的Linux开发系统中,我使用fakemail将邮件写入目录而不是发送邮件。 邮件文件包含标题和邮件文本,以UTF-8中的quoted-printable,text / plain格式显示。 我怎样才能读取一个邮件文件和“解码”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
我想把特殊字符replace为正确的对应字符,并且删除引用可打印的编码(末尾带有“=”的编码)插入的换行符。
好的,在这里回答我自己的问题,基于一些谷歌search和mailq的有用评论。
总之:我安装并使用了mutt 。 我必须用我的设置my_dir在伪造邮件创build邮件文件的目录my_dir里面,我创build了dirs new , cur和tmp并将fakemail指向my_dir/new 。 然后,我开始与睦相处
mutt -f my_dir
现在,我可以查看新邮件,看看旧邮件,变音符号是正确显示 – 完美!
答案是:就这样做。
可以使用您喜欢的编程语言的API来parsingMIME消息并解码quoted-printable和base64 。 或者您可以通过编写实现链接标准的软件来自行完成。
两个选项都起作用 select正确的,去为它。 (然后看看Stackoverflow的细节,因为这是超出了Serverfault的范围)。