0

我有一个脚本设置,当用户将他们的电子邮件插入提供的输入时,它将通过电子邮件向用户发送激活链接。

我正在使用 CodeIgniter 的电子邮件类来发送多部分电子邮件,而我遇到的问题是,当发送电子邮件时,调试器说电子邮件已成功发送,但从未收到消息。

当我将电子邮件发送到我的内部工作电子邮件时,它发送得很好。但是当我将它发送到我的 gmail 帐户时,它永远不会通过。

我已经设法将问题归结为在电子邮件中插入链接的问题。当我删除链接时,电子邮件发送正常。我把链接放回去了,我的 gmail 帐户从未收到过电子邮件。

有没有人遇到过这个问题,或者您对如何解决这个问题有任何见解?

4

2 回答 2

0

您的电子邮件被拒绝..这不是 CI 问题..

于 2012-05-16T15:04:56.750 回答
0

好的,听起来问题不在于 CodeIgniter 或您的代码,而在于服务器的邮件传输代理将其发送到 Gmail 服务器。

发生的事情是 CodeIgniter 将一封电子邮件放在一起并将其提供给 PHP 引擎,PHP 引擎将其传递给服务器上的邮件传输代理进行发送。MTA 将向 PHP 和 CodeIgniter 报告它已正确收到电子邮件。由于此时 PHP & CodeIgniter 的工作已经完成,他们会报告他们已经发送成功。

检查您的 Gmail 中的垃圾邮件文件夹,看看它是否已放入其中..?我有一段时间没有使用 CI,所以记不清了,但我认为您可能需要在发送之前设置一个 HTML 电子邮件参数。如果是这样,Gmail 可能也希望这样设置。

在此处向下滚动到“电子邮件首选项”:http: //codeigniter.com/user_guide/libraries/email.html并将邮件类型设置为 HTML。

如果这不起作用,您将需要完全调试。

要正确调试问题,您需要能够访问 MTA 日志。这是本地开发服务器还是现场生产机器?是 Linux 还是 Windows?如果是Linux,哪个发行版?您知道您使用的是哪个 MTA 吗?您是否具有对服务器的 SSH 访问权限?

如果您能够获得 SSH 访问权限并找出您拥有的 MTA,那么查找起来会容易得多,并且您将能够监控传出消息和目标服务器的响应,因为它们发生了。

于 2012-05-16T15:14:10.293 回答