Iis

如何格式化 IIS Mailroot Pickup 的文本文件,以便發送帶有附件的電子郵件?

  • February 19, 2019

我如何需要格式化文本文件,以便 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"
內容處置:附件;
文件名=“附件.txt”

VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu
ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA ==
- 隨附的 - 

但是,當我將上述文本放入文件並將其放入 Mailroot\Pickup 時,它不會正確發送附件。相反,會在電子郵件正文中顯示一封電子郵件,其中包含以下內容:

MIME 版本:1.0
內容類型:文本/純文字;
邊界=“附加”
內容處置:內聯;

- 隨附的
內容傳輸編碼:base64
內容類型:文本/純文字;
名稱="附件.txt"
內容處置:附件;
文件名=“附件.txt”

VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu
ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA ==
- 隨附的 - 

我不知道我需要做什麼來格式化文本文件,以便 SMTP 服務正確發送附件。

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--

引用自:https://serverfault.com/questions/119285