Как мне отформатировать текстовый файл для IIS Mailroot Pickup, чтобы он отправлял электронное письмо с вложениями?

Как мне нужно отформатировать текстовый файл, чтобы он мог быть прочитан службой SMTP для отправки электронной почты с вложением?

У нас есть сервер, на котором мы используем II6 SMTP для отправки почты из папки раскладки. Цель состоит в том, чтобы поместить правильно отформатированный текстовый файл в Mailroot\Pickup, а затем этот файл будет автоматически обработан и отправлен правильному получателю SMTP.

Для простых файлов это работает правильно. Вот пример простого файла, который работает (доменные имена изменены):

    От:bmccormack@mydomain.com
    To:bmccormack@mydomain.com
    Тема: Привет, мир!

    Тестовое тело электронной почты

Когда я помещаю текстовый файл с указанным выше содержимым в папку Mailroot\Pickup, он отправляется правильно. Тем не менее, я не смог понять, как получить приложение к работе.

Я нашел некоторый материал, объясняющий, как кодировать вложение SMTP, и другой инструмент для простого преобразования кодировки base64. Используя информацию на этих страницах, я получил следующий текст:

    От: bmccormack@mydomain.com Кому: bmccormack@mydomain.com Тема:Hello World!

    MIME-версия: 1.0
    Content-Type: text/plain;
      border ="Attached"
    Content-Disposition: встроенный;

    - Присоединенное Content-Transfer-Encoding: base64
    Content-Type: text/plain;
      name="attachment.txt"
    Content-Disposition: attachment; filenamename = "Attachment.txt" 

Однако, когда я помещаю вышеуказанный текст в файл и помещаю его в Mailroot\Pickup, он не отправляет вложение правильно. Вместо этого в теле письма появляется электронное письмо:

    MIME-версия: 1.0
    Тип контента: текстовый / простой;
      граница = "Attached"
    Содержание-Диспозиция: встроенная;

    --Attached
    Content-Transfer-Encoding: base64
    Тип контента: текстовый / простой;
      Name = "attachment.txt"
    Содержание-Диспозиция: вложение;
      filenamename = "attachment.txt"

    VGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIHRvIGVuY29kZS4NCk5ldyBsaW5lDQpOZXcgTGlu
    ZQ0KIkhlbGxvdyIgISEhDQo9PT09ICcgZnNkZnNkZiAxMjM1NDU2MzQzNA ==
    --Attached--

Я не могу понять, что мне нужно сделать, чтобы отформатировать текстовый файл, чтобы служба SMTP правильно отправляла вложения.

2 ответа

Форматирование файлов для чтения по 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-файлы. Протестировано с папкой exchange pickup, и все заработало.

Другие вопросы по тегам