如何格式化 IIS Mailroot Pickup 的文本文件,以便它发送带有附件的电子邮件?

Ben*_*ack 5 email iis smtp iis-6 attachment

我需要如何格式化文本文件,以便 SMTP 服务可以读取它来发送带有附件的电子邮件?

我们有一个服务器,我们在其中使用 II6 SMTP 从 Pickup 文件夹发送邮件。目标是将格式正确的文本文件放入 Mailroot\Pickup,然后该文件将被自动处理并发送到正确的 SMTP 收件人。

对于简单文件,这可以正常工作。这是一个有效的简单文件示例(域名已更改):

    来自:bmccormack@mydomain.com
    至:bmccormack@mydomain.com
    主题:世界,你好!

    电子邮件的测试正文

当我将包含上述内容的文本文件放入 Mailroot\Pickup 文件夹时,它会正确发送。但是,我一直无法弄清楚如何让附件工作。

我找到了一些材料,解释了如何对 SMTP 附件进行编码,以及另一种用于简单 base64 编码转换的工具。使用这些页面上的信息,我想出了以下文字:

    来自:bmccormack@mydomain.com
    至:bmccormack@mydomain.com
    主题:世界,你好!

    MIME 版本:1.0
    内容类型:文本/纯文本;
      边界=“附加”
    内容处置:内联;

    - 随附的
    内容传输编码:base64
    内容类型:文本/纯文本;
      名称=“附件.txt”
    Content-Disposition:附件;
      文件名=“附件.txt”

    VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu
    ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA==
    - 随附的 - 

但是,当我将上述文本放入文件并将其放入 Mailroot\Pickup 时,它无法正确发送附件。相反,电子邮件会在电子邮件正文中显示以下内容:

    MIME 版本:1.0
    内容类型:文本/纯文本;
      边界=“附加”
    内容处置:内联;

    - 随附的
    内容传输编码:base64
    内容类型:文本/纯文本;
      名称=“附件.txt”
    Content-Disposition:附件;
      文件名=“附件.txt”

    VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu
    ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA==
    - 随附的 - 

我不知道我需要做什么来格式化文本文件,以便 SMTP 服务正确发送附件。

Ben*_*ack 3

SMTP 读取的文件格式可能有点棘手。请小心空格和分号,因为文件读取器可能不会很宽容。

尝试以下文本文件,这是一条带有 3 个附件的消息。第一个附件是纯 ASCII 文本,将被视为邮件正文。其他附件将读取为实际文件附件。

From: <bmccormack@mydomain.com>
To: <scott@mydomain.com>
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--
Run Code Online (Sandbox Code Playgroud)

  • @David 嗯,我问了一个问题,没有收到任何人的答案,与此同时,我自己找到了答案。我决定提供一个答案,以防其他寻求解决方案的人需要它。 (5认同)