[英]Sending email using codeigniter and ajax, the email is sent but error message appears
[英]Problem sending email with Codeigniter - Headers sent in the message body
在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--
这听起来好像不是一个codeigniter问题。
您已经测试并显示消息正确发送。 您已经看到它发送到其他POP3帐户。 GMail能够获得POP3帐户数据,但却能够获得它。
下一个测试是使用客户端,比如Thunderbird(桌面)或Squirrel Mail(web),看看邮件是否从这些来源正确到达您。
下一个测试(如果不是)是在另一台服务器上使用与另一个提供商完全不同的POP3帐户,看看那里发生了什么。
这样做的原因是错误(正如你所看到的)似乎发生在POP3的交付和到达GMail之间。 我想要的故障查找器是确定这是一个格式错误的电子邮件或(这将是我的猜测)如果POP3服务器有任何异常配置,CI可能没有考虑到。
为了节省时间,我会在CodeIgniter论坛上发帖询问是否有其他人遇到过这些问题,在这种情况下可能存在已知的错误或错误或某种缺点。 在等待答案时,我会看着我的POP3服务器并询问它为什么以我不喜欢的方式中继消息,如果这是POP3,服务器类型或配置问题。 最重要的是,一旦我知道问题是什么,我如何更改我的电子邮件发送软件(CI)以发送不会以这种方式破坏的电子邮件?
但首先需要了解问题的根本原因。
请使用$ config ['protocol'] ='sendmail';
由于邮件被传递到相关地址(pop3帐户)codeigniter / sendmail / php / dns / smtp,所有参与邮件传递的人都已经完成了对他们的期望。 此外,您还证明了Google的邮件提取程序已经配置,可以从pop3服务器成功获取邮件并将其放入收件箱,也没有任何问题。
您想知道的是如何更改从您的Gmail帐户收件箱中显示的pop3邮件导入方式,如果您的邮件已完成,我们的工作已完成,这超出了您定位的受众范围。
解决问题的一种方法是将邮件直接发送到您的Gmail帐户。 作为主要收件人(发送给您,您可以逗号分隔多个帐户)或CC或BCC地址中的任何一个,这将避免从POP3获取。 然后,这将根据发送给您的任何其他消息显示在您的收件箱中,并按照惯例隐藏标题。
这适合我。
让我们知道事情的结果......
我相信这篇文章可以帮助您: 使用CodeIgniter发送电子邮件
克莱伯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.