I am trying to send an attachment through AWS Simple Email Service, and i can get it to send a raw email WITHOUT ATTACHMENTS, however when i try it with attachments it always fails. Have i constructed my MIME message correctly?
Ok so here is the MIME that sends correctly:
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.
When I attach the attachment is fails to send:
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
Is there anything obviously wrong?
I contruct the call by base64 encoding the whole message and adding it to the end of this URL:
Action=SendRawEmail&Destinations.member.1=test%40example.com&RawMessage.Data={base64 encoded MIME Message}
ANSWER:
There were two issues with the MIME file. First
The trailing boundery shouldnt be there, as it is obviously looking for another aspect of the MIME message, eg another attachment.
The Content-Type which is defined as "text/txt" should actually be "text/plain"
Thus meaning with those two alterations you get this MIME message which works:
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=
There were two issues with the MIME file. First
The trailing boundery shouldnt be there, as it is obviously looking for another aspect of the MIME message, eg another attachment.
The Content-Type which is defined as "text/txt" should actually be "text/plain"
Thus meaning with those two alterations you get this MIME message which works:
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=