5

codeigniter 中的 email 类有一个奇怪的问题。当我将电子邮件直接发送到我的 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--
4

4 回答 4

1

这听起来像是不是codeigniter问题。

您已经测试并表明消息发送正确。您已经看到它发送到另一个 POP3 帐户。GMail 能够获取 POP3 帐户数据,但正在乱码。

下一个测试是使用客户端,例如 Thunderbird(桌面)或 Squirrel Mail(网络),查看邮件是否从这些来源正确到达您的手中。

下一个测试(如果不是)是在另一台服务器上使用与另一个提供商完全不同的 POP3 帐户,看看那里会发生什么。

其原因是错误(如您所见)似乎发生在 POP3 上的交付和到达 GMail 之间。作为故障查找器,我想要确定这是否是一封格式错误的电子邮件,或者(这将是我的猜测)POP3 服务器是否有任何 CI 可能没有考虑到的异常配置。

为了节省时间,我会在 CodeIgniter 论坛上发帖询问是否有其他人遇到过这些问题,在这种情况下,可能存在已知的错误或故障或某种缺陷。在等待答案时,我会查看我的 POP3 服务器并询问它为什么以我不喜欢的方式中继消息,如果这是 POP3,服务器类型或配置问题。最重要的是,一旦我知道问题出在哪里,如何更改我的电子邮件发送软件 (CI) 以发送不会以这种方式中断的电子邮件?

但首先需要了解问题的根本原因。

于 2013-05-16T10:38:42.393 回答
1

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

于 2013-05-18T06:29:08.047 回答
0

由于邮件被递送到相关地址(pop3 帐户)codeigniter/sendmail/php/dns/smtp 并且所有参与邮件递送的人都完成了他们所期望的。此外,您还证明了 Google 的 Mail Fetcher 已配置并且可以成功地从 pop3 服务器获取邮件并将其放入您的收件箱中,也没有任何问题。

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

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

这对我有用。

让我们知道事情的结果...

于 2013-01-13T22:06:33.527 回答
-1

我相信这篇文章可以帮助你:使用 CodeIgniter 发送电子邮件

克莱伯。

于 2011-01-11T14:49:07.320 回答