Недопустимое сообщение MIME AWS SES отклоняет его из-за недопустимого сообщения MIME

Я пытаюсь отправить вложение через AWS Simple Email Service, и я могу заставить его отправлять необработанное электронное письмо БЕЗ ВЛОЖЕНИЙ, однако, когда я пытаюсь использовать его с вложениями, это всегда терпит неудачу. Правильно ли я построил свое сообщение MIME?

Хорошо, вот MIME, который отправляет правильно:

From: [email protected]
To: [email protected]
Subject: Test Email
Content-Type: multipart/mixed;
  boundary="_003_97DCB304C5294779BEBCFC8357FCC4D2"
MIME-Version: 1.0

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello, This is a test email.

Когда я прикрепляю вложение, не удается отправить:

From: [email protected]
To: [email protected]
Subject: Test Email
Content-Type: multipart/mixed;
  boundary="_003_97DCB304C5294779BEBCFC8357FCC4D2"
MIME-Version: 1.0

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello, This is a test email.

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/txt; name="test.txt"
Content-Description: test.txt
Content-Disposition: attachment; filename="test.txt";
Content-Transfer-Encoding: base64

VGhpcyBpcyBhIHRlc3QgYXR0YWNobWVudC4=

--_003_97DCB304C5294779BEBCFC8357FCC4D2

Что-то явно не так?

Я создаю вызов путем кодирования всего сообщения base64 и добавления его в конец этого URL-адреса:

Action=SendRawEmail&Destinations.member.1=test%40example.com&RawMessage.Data={base64 encoded MIME Message}

ОТВЕТ:

С файлом MIME было две проблемы. Первый

  • Конечный boundery не должен быть там, поскольку он, очевидно, ищет другой аспект сообщения MIME, например, другое вложение.

  • Content-Type, который определяется как «text / txt», на самом деле должен быть «text / plain».

Это означает, что с этими двумя изменениями вы получите это MIME-сообщение, которое работает:

From: [email protected]
To: [email protected]
Subject: Test Email
Content-Type: multipart/mixed;
  boundary="_003_97DCB304C5294779BEBCFC8357FCC4D2"
MIME-Version: 1.0

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello, This is a test email.

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; name="test.txt"
Content-Description: test.txt
Content-Disposition: attachment; filename="test.txt";
Content-Transfer-Encoding: base64

VGhpcyBpcyBhIHRlc3QgYXR0YWNobWVudC4=

person mmkd    schedule 23.03.2012    source источник


Ответы (1)


С файлом MIME было две проблемы. Первый

  • Конечный boundery не должен быть там, поскольку он, очевидно, ищет другой аспект сообщения MIME, например, другое вложение.

  • Content-Type, который определяется как «text / txt», на самом деле должен быть «text / plain».

Это означает, что с этими двумя изменениями вы получите это MIME-сообщение, которое работает:

From: [email protected]
To: [email protected]
Subject: Test Email
Content-Type: multipart/mixed;
  boundary="_003_97DCB304C5294779BEBCFC8357FCC4D2"
MIME-Version: 1.0

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello, This is a test email.

--_003_97DCB304C5294779BEBCFC8357FCC4D2
Content-Type: text/plain; name="test.txt"
Content-Description: test.txt
Content-Disposition: attachment; filename="test.txt";
Content-Transfer-Encoding: base64

VGhpcyBpcyBhIHRlc3QgYXR0YWNobWVudC4=
person mmkd    schedule 30.03.2012