当包含链接时,使用 Codeigniter 发送电子邮件不起作用


sending an email with codeigniter doesn't work when they contain a link

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

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

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

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

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

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

好的,所以听起来问题不在于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,那么查找起来就会容易得多,并且您将能够监视传出消息和目标服务器的响应。