使用swift的多部分电子邮件

时间:2012-05-14 19:05:21

标签: php swiftmailer

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附件甚至无法读取。如果我不添加文本部分,则消息将显示正常...

有什么想法吗?

3 个答案:

答案 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()直接发送电子邮件。