Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email cakephp激活电子邮件发送速度慢_Email_Cakephp - Fatal编程技术网

Email cakephp激活电子邮件发送速度慢

Email cakephp激活电子邮件发送速度慢,email,cakephp,Email,Cakephp,我有一个简单的用户帐户激活电子邮件发件人。根据我使用的电子邮件地址,我收到的回复时间明显不同:大学电子邮件-1分钟,Gmail-3-4小时,雅虎-1或2天-这似乎很奇怪。还有谁见过这种现象吗 编辑: 虽然没有太多的回应(即使是赏金),但我会尽量更清楚地解释我的问题 这可能不是灰色刺痛——如果我这么简单: php mail ($to, $subject, $body) // this delivers instantly. 我的cakephp代码: function __sendActi

我有一个简单的用户帐户激活电子邮件发件人。根据我使用的电子邮件地址,我收到的回复时间明显不同:大学电子邮件-1分钟,Gmail-3-4小时,雅虎-1或2天-这似乎很奇怪。还有谁见过这种现象吗

编辑:

虽然没有太多的回应(即使是赏金),但我会尽量更清楚地解释我的问题

这可能不是灰色刺痛——如果我这么简单:

php mail ($to, $subject, $body) // this delivers instantly.
我的cakephp代码:

    function __sendActivationEmail($id) {
    $User = $this->User->read ( null, $id );
    $this->set ( 'suffix_url', $User ['User'] ['id'] . '/' . $this->User->getActivationHash () );
    $this->set ( 'username', $User ['User'] ['username'] );
    $this->Email->to = $User ['User'] ['email'];
    $this->Email->subject = 'Test.com - ' . __ ( 'please confirm your email address', true );
    $this->Email->from = 'noreply@test.com';
    $this->Email->template = 'user_confirm';
    $this->Email->sendAs = 'text';
    $this->Email->delivery = 'mail';
    $this->Email->send ();
}
导致延迟从13分钟(好的,我们会处理)到5-6小时(不太好,因为这是一封激活电子邮件)。对于我的一些用户来说,它可以立即工作,但对于其他用户(同一服务提供商的gmail,它可以看到这些延迟)


有什么线索吗

代码看起来不错,但它当然没有告诉任何关于邮件服务器配置的信息。 我可以把3-4个小时归为灰色列表,但1-2天肯定太多了。这是可复制的吗?你用过多少个地址


(收到的)邮件的完整标题是什么样子的?“received from:…”路径应该告诉您在哪一点需要1-2天才能交付。

也许您可以作为供应商安装PHPMailer,并创建一个名为“Mail”的组件


别忘了向您的SMTP服务器进行身份验证(!:)

暂时忽略它的整个PHP元素

例如,如果是linux服务器,则从命令行发送邮件,例如mailmyemail@me.com

看看是否有同样的事情发生。很可能是服务器配置问题,而不是php或cakePHP问题

查找一些基本信息,如FQDN,并可能查看为您的电子邮件设置SPF记录。确保电子邮件来自您的域名,而不是其他人,例如,不是用户的电子邮件

此外,还应检查您是否设置了电子邮件垃圾邮件软件,该软件可能会将您的电子邮件显示为灰色(不太可能,但可能)。最相似的事情是目标垃圾邮件过滤器正在延迟它。尝试发送到一个gmail帐户,看看它是否通过罚款或进入垃圾邮件


在不接触PHP的情况下完成所有这些,如果一切正常,那么设置一个基本的PHP脚本,不使用CakePHP来完成基本的电子邮件,如果工作正常,那么您知道它的CakePHP等等,但我对此表示怀疑

所以在进一步挖掘之后,我意识到这是我们服务器主机的问题。我们使用Slicehost,碰巧一系列被列入黑名单的ip包括我们自己的ip。我们的名字已经从名单中删除了,我们可以开始了。

普通的php mail()似乎可以处理所有的电子邮件地址。。。一定是蛋糕什么的?什么是Greylisting?别提了--我理解Greylisting--还有其他建议吗?你能把用mail()发送的(收到的)邮件头和通过cake发送的(收到的)邮件头进行比较吗?“已接收”路径表示什么?邮件的每个跳转点都列在那里,上面有日期和时间。我无法重现1-2天的事件,因为我还没有从其他几次测试中得到回复。上面显示的是5个小时。有什么想法吗?邮件中的127.0.0.1地址是真的吗?如果是,那几乎肯定是错的,它应该是服务器的外部IP地址。但我看到的差异只有1.5小时(注意时区)。这可能没什么问题,可以归结为greylisting。只是好奇——有人对这篇文章投了更高的票。。。人们有类似的问题吗?是的。。。我也是其中之一——gmail 8小时左右!在dreamhost上说,另一个因素可能是电子邮件的内容与垃圾邮件非常匹配。。所以可能会改变一下文本。问题是,PhP邮件会毫不延迟地发送——因为我也不相信Cakephp会成为问题,我更倾向于使用注册电子邮件中使用的文本——我会处理这个问题。