![如何格式化 IIS Mailroot Pickup 的文本文件以便它发送带有附件的电子邮件?](https://linux22.com/image/507643/%E5%A6%82%E4%BD%95%E6%A0%BC%E5%BC%8F%E5%8C%96%20IIS%20Mailroot%20Pickup%20%E7%9A%84%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%BB%A5%E4%BE%BF%E5%AE%83%E5%8F%91%E9%80%81%E5%B8%A6%E6%9C%89%E9%99%84%E4%BB%B6%E7%9A%84%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%EF%BC%9F.png)
我需要如何格式化文本文件以便 SMTP 服务可以读取它并发送带有附件的电子邮件?
我们有一台服务器,使用 II6 SMTP 从 Pickup 文件夹发送邮件。目标是将格式正确的文本文件放入 Mailroot\Pickup,然后该文件将自动处理并发送给正确的 SMTP 收件人。
对于简单文件,此方法可正常工作。以下是可正常工作的简单文件示例(已更改域名):
从:[电子邮件保护] 到:[电子邮件保护] 主题:你好,世界! 测试电子邮件正文
当我将包含上述内容的文本文件放入 Mailroot\Pickup 文件夹时,它可以正确发送。但是,我还没能弄清楚如何让附件正常工作。
我发现了一些材料解释如何对 SMTP 附件进行编码和另一个简单的base64编码转换工具。利用这些页面上的信息,我得出了以下文字:
从:[电子邮件保护] 到:[电子邮件保护] 主题:你好,世界! MIME 版本:1.0 内容类型:text/plain; 边界=“附加” 内容处置:内联; - 随附的 内容传输编码:base64 内容类型:text/plain; 名称=“附件.txt” 内容处置:附件; 文件名name="attachment.txt" VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA== - 随附的 -
但是,当我将上述文本放入文件中并将其放入 Mailroot\Pickup 时,它无法正确发送附件。相反,会显示一封电子邮件,其正文如下:
MIME 版本:1.0 内容类型:text/plain; 边界=“附加” 内容处置:内联; - 随附的 内容传输编码:base64 内容类型:text/plain; 名称=“附件.txt” 内容处置:附件; 文件名name="attachment.txt" VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA== - 随附的 -
我不知道需要做什么来格式化文本文件以便 SMTP 服务正确发送附件。
答案1
SMTP 读取文件的格式可能有点棘手。请小心使用空格和分号,因为文件读取器可能不会太宽容。
尝试以下文本文件,这是一封带有 3 个附件的邮件。第一个附件是纯 ASCII 文本,将像邮件正文一样读取。其他附件将作为实际文件附件读取。
From: <[email protected]>
To: <[email protected]>
Subject: Hello World!
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="Attached"
--Attached
Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Hey Scott, I think I've got it figured out. See the attached file.
--Attached
Content-Type: text/plain;
name="TestAttached.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="TestAttached.txt"
VGhpcyBpcyBhbiBleGFtcGxlIG9mIGJhc2U2NCBlbmNvZGVkIHRleHQu
--Attached
Content-Type: text/plain;
name="SourceCode.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="SourceCode.txt"
RnJvbTogPGJtY2Nvcm1hY2tAbXlkb21haW4uY29tPg0KVG86IDxibWNjb3JtYWNrQG15ZG9tYWlu
LmNvbT4NClN1YmplY3Q6IEhlbGxvIFdvcmxkIQ0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQt
VHlwZTogbXVsdGlwYXJ0L21peGVkOw0KICBib3VuZGFyeT0iQXR0YWNoZWQiDQoNCg0KLS1BdHRh
Y2hlZA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOw0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu
ZzogN2JpdA0KDQpIZXkgU2NvdHQsIEkgdGhpbmsgSSd2ZSBnb3QgaXQgZmlndXJlZCBvdXQuICBT
ZWUgdGhlIGF0dGFjaGVkIGZpbGUuDQotLUF0dGFjaGVkDQpDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47DQoJbmFtZT0iYXR0YWNoZWRJbmZvLnR4dCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6
IGJhc2U2NA0KQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsNCglmaWxlbmFtZT0iYXR0
YWNoZWRJbmZvLnR4dCINCg0KVkdocGN5QnBjeUJoYmlCbGVHRnRjR3hsSUc5bUlHSmhjMlUyTkNC
bGJtTnZaR1ZrSUhSbGVIUXUNCg0KLS1BdHRhY2hlZC0t
--Attached--
答案2
旧帖子,但最近这对我有帮助
zamzar 可以将 msg 转换为 eml,甚至是嵌入式 pdf。使用 exchange pickup 文件夹进行了测试,成功了。