2011-08-22 119 views
1

我使用cakephp电子邮件组件。在我的活服务器$ this-> Email-> send()返回成功。但邮件没有收到。问题是什么??我需要找到最新的错误? 我的控制器没有任何模型,这可能会导致电子邮件的任何问题?CakePHP电子邮件无法正常工作 - 如何跟踪错误

 $this->Email->from  = 'Mysitename <[email protected]'; 
     $this->Email->to  = '[email protected]'; 
     $this->Email->subject = "This is test"; 
     $this->Email->template = 'template_name'; 
     $this->Email->sendAs = 'html'; 

     ob_start(); 
     if($this->Email->send()) 
     { 
      $this->log(' Mail Success'); 
     } 
     else 
     { 
      $this->log('Something broke in mail');  
     } 
     ob_end_clean(); 
+2

为什么使用'ob_start()'和'ob_end_clean()'funcionts?你不需要他们来EmailComponent工作 –

+0

即使你只改变了两行来隐藏电子邮件地址,请粘贴你的真实代码。我非常怀疑你在这里有这样严重的语法错误的代码会导致任何邮件被发送。 – BoltClock

+0

这是我使用的代码..它在我的开发服务器上正常工作。我的模板也没有任何错误。即使如果我没有传递任何电子邮件ID日志显示“邮件成功”。我将该电子邮件组件包含在该控制器中。 – AnNaMaLaI

回答

1

您可以设置发送到debug看到你的消息的输出,以确保它的罚款:

$this->Email->delivery = 'smtp'; 

而且你还需要setFlash(“电子邮件”)看到在输出的观点:

echo $this->Session->flash('email'); 

至于从直播服务器发送电子邮件老话 - 有一个很好的机会服务器或IP被列入黑名单,你需要得到它你的仙面前经过各种检查吨消息可被接收到的:

http://www.digitalsanctuary.com/tech-blog/debian/setting-up-spf-senderid-domain-keys-and-dkim.html