Como formato um arquivo de texto para o IIS Mailroot Pickup para que ele envie um email com anexos?

5

Como eu preciso formatar um arquivo de texto para que ele possa ser lido por um serviço SMTP para enviar um e-mail que tenha um anexo?

Temos um servidor em que estamos usando o II6 SMTP para enviar e-mails de uma pasta de recebimento. O objetivo é colocar um arquivo de texto devidamente formatado no Mailroot \ Pickup e, em seguida, o arquivo será automaticamente processado e enviado para o destinatário SMTP correto.

Para arquivos simples, isso funciona corretamente. Aqui está um exemplo de um arquivo simples que funciona (nomes de domínio alterados):

    From:[email protected]
    To:[email protected]
    Subject:Hello World!

    Test Body Of The E-mail

Quando eu solto um arquivo de texto contendo o conteúdo acima na pasta Mailroot \ Pickup, ele envia corretamente. No entanto, não consegui descobrir como fazer com que um anexo funcione.

Encontrei alguns materiais que explicavam como codificar um anexo SMTP e outra ferramenta para conversão simples de codificação em base64 . Usando as informações dessas páginas, eu criei o seguinte texto:

    From:[email protected]
    To:[email protected]
    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--

No entanto, quando coloco o texto acima em um arquivo e o coloco no Mailroot \ Pickup, ele não envia um anexo corretamente. Em vez disso, um e-mail aparece com o seguinte no corpo do e-mail:

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

Não consigo descobrir o que preciso fazer para formatar o arquivo de texto para que o serviço SMTP envie anexos corretamente.

    
por Ben McCormack 04.03.2010 / 20:25

1 resposta

3

A formatação de arquivos a serem lidos pelo SMTP pode ser um pouco complicada. Tenha cuidado com espaços em branco e ponto-e-vírgulas porque o leitor de arquivos provavelmente não será muito tolerante.

Experimente o seguinte arquivo de texto, que é uma mensagem com três anexos. O primeiro anexo é texto ASCII simples e será lido como se fosse o corpo da mensagem. Os outros anexos serão lidos como anexos de arquivos reais.

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--
    
por 05.03.2010 / 14:37