Как мне нужно отформатировать текстовый файл, чтобы его можно было прочитать службой SMTP для отправки электронного письма с вложением?
У нас есть сервер, на котором мы используем II6 SMTP для отправки почты из папки Pickup. Цель состоит в том, чтобы поместить правильно отформатированный текстовый файл в Mailroot \ Pickup, после чего файл будет автоматически обработан и отправлен правильному получателю SMTP.
Для простых файлов это работает правильно. Вот пример простого работающего файла (изменены доменные имена):
From:bmccormack@mydomain.com To:bmccormack@mydomain.com Subject:Hello World! Test Body Of The E-mail
Когда я перетаскиваю текстовый файл, содержащий вышеуказанное содержимое, в папку Mailroot \ Pickup, он отправляется правильно. Однако мне так и не удалось придумать, как заставить работать приставку.
Я нашел материал, который объяснил, как закодировать вложение SMTP и еще один инструмент для простого преобразования кодировки base64. Используя информацию на этих страницах, я придумал следующий текст:
From:bmccormack@mydomain.com To:bmccormack@mydomain.com Subject:Hello World! MIME-Version: 1.0 Content-Type: text/plain; boundary="Attached" Content-Disposition: inline; --Attached Content-Transfer-Encoding: base64 Content-Type: text/plain; name="attachment.txt" Content-Disposition: attachment; filenamename="attachment.txt" VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA== --Attached--
Однако, когда я помещаю указанный выше текст в файл и перетаскиваю его в Mailroot \ Pickup, он неправильно отправляет вложение. Вместо этого в теле письма появляется электронное письмо со следующим текстом:
MIME-Version: 1.0 Content-Type: text/plain; boundary="Attached" Content-Disposition: inline; --Attached Content-Transfer-Encoding: base64 Content-Type: text/plain; name="attachment.txt" Content-Disposition: attachment; filenamename="attachment.txt" VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA== --Attached--
Я не могу понять, что мне нужно сделать, чтобы отформатировать текстовый файл, чтобы служба 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--
Старый пост, но это недавно помогло мне
zamzar может конвертировать msg в eml, даже встроенные PDF-файлы. Протестировал с папкой выгрузки обмена, и все заработало.