Я пытаюсь отправить вложение через 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=