Я пытаюсь отправить вложение через AWS Simple Email Service, и я могу получить его для отправки необработанного электронного письма БЕЗ ПРИЛОЖЕНИЙ, однако, когда я пробую его с вложениями, оно всегда терпит неудачу.Правильно ли я построил свое сообщение MIME?
Хорошо, поэтому вот MIME, который отправляет правильно:
From: test@example.com
To: test@example.com
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: test@example.com
To: test@example.com
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.Первый
Конечной границы не должно быть, поскольку он явно ищет другой аспект сообщения MIME, например, другое вложение.
Content-Type, который определяется как «text / txt», должен фактически быть «text / plain»
Таким образом, с этими двумя изменениями вы получите это сообщение MIME, которое работает:
From: test@example.com
To: test@example.com
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=