Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multipart email with swift

Multipart messages are not being correctly shown on gmail when on the iPhone. I have:

$message->setBody($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');

I have also used:

$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');

But in both cases, when reading gmail from the iPhone I get the message as a 'MIME-attachment'... No html and the MIME-attachment cannot even be read. The message will display fine if I don't add the text part...

Any ideas?

like image 297
luqita Avatar asked Dec 07 '22 14:12

luqita


2 Answers

I know this post is quite old, but in case someone finds this on Google like I did, the problem above is the mine-type definition. The correct mime-type is text/plain and not plain/text, like so :

$message->addPart($this->text_body, 'text/plain');

The final version that worked for me looks like this :

$message->setBody($this->body, 'multipart/alternative');
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'text/plain');
like image 128
Olivier Party Avatar answered Dec 10 '22 12:12

Olivier Party


You need to do:

$message->setBody($your_plain_text_email_here);
$message->addPart($your_html_email_here, 'text/html');

I just had the exact same question and this worked for me on the Mac mail app, iPhone mail app and Horde (webmail, it came up as plain text.)

like image 29
Yuriy Avatar answered Dec 10 '22 12:12

Yuriy