email - X-Unsent 标志是否仍在工作以将 .eml 文件保存并打开为草稿?
问题描述
我能够在 Delphi 中.eml
使用构建文件。TIdMessage
它有一个像这样的标题:
X-Unsent: 1
Subject: Testiing Subject
To: "testeing@mail.com" <testing@mail.com.br>
MIME-Version: 1.0
Date: Tue, 6 Oct 2020 15:43:50 -0300
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
但是当我ShellExecute()
使用 Outlook 和 Thunderbird 打开文件(通过 Delphi 代码或文件本身)时,都像收到的电子邮件一样打开它,并且不显示发送消息的选项。
据我所知,在网上搜索时,X-Unsent:1
标题应该可以解决问题。
所以我的问题是,这个标志不再起作用了吗?如果没有,我应该尝试什么?
解决方案
是的,截至 2021 年底,在 Windows 10 上,365 应用版本 (v16) 中的 Microsoft Outlook 仍按预期响应 X-Unsent: 1 标头。我刚刚使用在 PowerShell 中生成的快速而肮脏的“.EML”文件进行了测试,该文件如下所示:
@"
X-Unsent: 1
From: $sender
To: $recipient_list
Subject: $email_subject
MIME-Version: 1.0
Content-Type: text/plain
$message_body
"@ |out-file -filepath "${MailPath}\${filename}.eml" -encoding utf8
该问题的评论中有很好的信息和原始答案,但我认为这可能会受益于被标记为已回答以及一些更新和确认。
最后一点:当 EML 文件是 UNIX 样式的“仅 LF”换行符而不是“Windows 样式”CR-LF 时,我得到了最好的结果。