CakePHP邮件不能正常工作-如何跟踪错误


CakePHP email not working properly - how to track the error

我使用cakephp电子邮件组件。在我的实时服务器$this->Email->send()返回成功。但是邮件收不到。有什么问题吗?我需要找出错误是什么?我的控制器没有任何模型,这可能会对电子邮件造成任何问题?

        $this->Email->from     = 'Mysitename <no-reply@mysite.com';
        $this->Email->to       =  'sample@gmail.com';
        $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();

您可以将交付设置为调试,以查看消息的输出,以确保它是正确的:

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

你还需要setFlash('email')来查看视图中的输出:

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

就从一个正在运行的服务器发送的电子邮件而言-服务器或IP很有可能被列入黑名单,你需要让它通过各种检查才能收到你发送的消息:

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