我使用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