使用Codeigniter发送邮件时出现问题 - 报文头被放在了消息正文中

5

在Codeigniter中使用电子邮件类时遇到了奇怪的问题。当我直接向我的Gmail帐户发送电子邮件时,它可以正常工作。但是,如果我向不同的电子邮件地址发送电子邮件并使用POP3将该电子邮件地址导入到Gmail中,则某些原因会在消息中包含所有标题。

以下是发送电子邮件的代码:

$this->email->clear();
$config['mailtype'] = "html";
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('email@example.com', 'Website');
$this->email->to('accountthatimportstogmail@url.com');
$this->email->message($message);

当电子邮件通过POP3导入到Gmail中,以下是我收件箱中收到的内容:

Date: Fri, 7 Jan 2011 15:07:04 +0000

From: "Website" <email@example.com>
Reply-To: "email@example.com" <email@example.com>
X-Sender: email@example.com

X-Mailer: CodeIgniter

X-Priority: 3 (Normal)

Message-ID: <4d272c1835479@example.com>

Mime-Version: 1.0

Content-Type: multipart/alternative; boundary="B_ALT_4d272c1835c46"




This is a multi-part message in MIME format.

Your email application may not support this format.



--B_ALT_4d272c1835c46

Content-Type: text/plain; charset=utf-8

Content-Transfer-Encoding: 8bit



this is the email message content





--B_ALT_4d272c1835c46

Content-Type: text/html; charset=utf-8

Content-Transfer-Encoding: quoted-printable

<html>
<body>
       <p>this is the email message content
</p>
</body>
</html>



--B_ALT_4d272c1835c46--

尝试将邮件类型从html更改为text。 - Kinjal Dixit
4个回答

1
这听起来似乎不是Codeigniter的问题。 您已经测试并证明消息发送正确。 您已经看到它发送到了另一个POP3帐户。 Gmail能够获取POP3帐户数据,但却将其搞糊涂了。 下一个测试是使用客户端,比如Thunderbird(桌面)或Squirrel Mail(Web),看看邮件是否从这些来源正确到达您的邮箱。 如果仍然存在问题,则进行下一个测试,即在另一台服务器上使用完全不同的另一个提供商的POP3帐户,并查看那里会发生什么。 之所以这样做,是因为故障(正如您所看到的那样)似乎发生在POP3交付和到达Gmail之间。作为故障检测器,我想要确定是否存在格式错误的电子邮件,或者(这可能是我的猜测)POP3服务器是否具有任何CI可能没有考虑到的异常配置。
为了节省时间,我会在CodeIgniter论坛上发布帖子,询问是否有其他人遇到过这些问题,如果是的话,可能存在已知的错误、故障或某种缺陷。在等待答案的同时,我会查看我的POP3服务器,并询问它为什么以我不喜欢的方式中继消息,以及这是否是POP3、服务器类型或配置问题。最重要的是,一旦我知道问题所在,如何更改我的电子邮件发送软件(CI)以发送不会出现这种问题的电子邮件?但首先需要知道问题的根本原因。

1
请使用$config ['protocol'] ='sendmail';

0

由于邮件已经被发送到相关地址(pop3帐户),codeigniter/sendmail/php/dns/smtp以及所有涉及邮件传递的组件都已经完成了他们应该做的事情。此外,您还证明了Google的邮件获取器已经配置成功,并且可以成功地从pop3服务器获取邮件并将其放入收件箱中,这里也没有任何问题。

您想知道的是如何更改在gmail帐户收件箱中显示的这些从pop3导入的消息的方式,这已经远远超出了您在此处针对的受众范围,如果您的消息已经被送达,我们的工作就完成了。

解决问题的一种方法可能是直接将邮件发送到您的gmail帐户。作为主要收件人(发送给,您可以用逗号分隔多个帐户)或CC或BCC地址之一,这将避免从POP3获取的需要。然后,它将像发送给您的任何其他消息一样在收件箱中显示,标题将像往常一样隐藏。

这对我有效。

让我们知道结果如何...


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接