iPhone上的gpart上没有正确显示多部分消息。我有:
$message->setBody($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');
我也用过:
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');
但在这两种情况下,当从iPhone上阅读gmail时,我得到的信息是“MIME附件”......没有HTML和MIME附件甚至无法读取。如果我不添加文本部分,则消息将显示正常...
有什么想法吗?
答案 0 :(得分:8)
我知道这篇文章很老了,但是如果有人像我一样在Google上发现这个帖子,上面的问题就是我的类型定义。正确的mime-type是text / plain而不是plain / text,如下所示:
$message->addPart($this->text_body, 'text/plain');
对我有用的最终版本如下:
$message->setBody($this->body, 'multipart/alternative');
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'text/plain');
答案 1 :(得分:6)
你需要这样做:
$message->setBody($your_plain_text_email_here);
$message->addPart($your_html_email_here, 'text/html');
我刚才有完全相同的问题,这对我来说在Mac邮件应用程序,iPhone邮件应用程序和Horde(webmail,它出现为纯文本。)
答案 2 :(得分:1)
我必须看到电子邮件的源代码才能为您提供问题的原因。
$message->setBody($this->body, 'multipart/alternative');
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');
据我所知,到目前为止还没有一个尊重RFC规则的电子邮件类。 我构建了自己的,并且内置了一个SMTP服务器,因此它不是通过mail()直接发送电子邮件。