Unable to view e-mail attachments on iOS Mail when generated with PHP imap_mail_compose

52 Views Asked by At

I'm trying to generate a HTML e-mail with 1 PDF attachment using PHP. The tool I'm using to send the e-mails is AWS SES which means it has to be in MIME format.

I stumbled across the imap_mail_compose function and have written a script to generate the MIME code before submitting it to AWS SES for sending but I can't seem to get it to appear correctly on both Outlook and iOS Mail.

I have tried MULTIPART/mixed and MULTIPART/alternative which provide different results.

MULTIPART/alternative = HTML appears fine on Outlook and on iOS mail, but the attachment is only visible on Outlook. On iOS mail, the paperclip attachment icon is shown but there is no attachment to open.

MULTIPART/mixed = On Outlook I get an e-mail that only has the basic text in the body with 3 attachments (ATT00001.htm, ATT00002 and Invoice.pdf) - one for each part of the message (basic, HTML and the attachment). On iOS Mail, all 3 parts are displayed sequentially (basic, HTML and the attachment).

Is there anything I can change in the MIME code below to make it appear correctly on both client types?

Many thanks in advance.

(The base64 strings have been replaced with some example text for brevity)

Date: Thu, 09 Nov 2023 08:57:36 +0000
From: Billing <[email protected]>
Subject: New Invoice [Ref No. 123]
To: [email protected]
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY="531389465-1681692777-1699520256=:303753"

--531389465-1681692777-1699520256=:303753
Content-Type: TEXT/plain; CHARSET=utf-8
Content-Transfer-Encoding: BASE64

CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI


--531389465-1681692777-1699520256=:303753
Content-Type: TEXT/html; CHARSET=utf-8
Content-Transfer-Encoding: BASE64

CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI

--531389465-1681692777-1699520256=:303753
Content-Type: APPLICATION/pdf; name=Invoice.pdf
Content-Transfer-Encoding: BASE64
Content-Description: Invoice.pdf
Content-Disposition: attachment; size=217203; filename=Invoice.pdf

CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nI

--531389465-1681692777-1699520256=:303753--

0

There are 0 best solutions below