我尝试使用cakephp电子邮件组件发送邮件。但是邮件没有发送,也没有显示任何错误消息。我需要设置任何其他参数吗?这是我的代码片段:
$this->Email->from='<xyz@yahoo.com>';
$this->Email->to='<abc@gmail.com>';
$this->Email->sendAs='both';
$this->Email->delivery = 'debug';
$this->Email->send();
答案 0 :(得分:5)
你应该尝试改变
$this->Email->delivery = 'debug';
要
$this->Email->delivery = 'mail';
答案 1 :(得分:0)
尝试更改
$this->Email->from='<xyz@yahoo.com>';
$this->Email->to='<abc@gmail.com>';
到
$this->Email->from='xyz@yahoo.com';
$this->Email->to='abc@gmail.com';
刚才我用它解决了我的问题。当交付设置为mail
时,蛋糕不会发送消息,但使用谷歌SMTP它可以正常工作。 Google SMTP需要的地址与Name <email@example.com>
相同。当我删除Name
,<
和>
后,它开始正式发送电子邮件,并将投放方式设置为mail
。
顺便说一句,它很可能不会在localhost上运行(因为你可能是垃圾邮件发送者或其他什么),所以尝试将你的应用程序上传到服务器,然后发送邮件。
编辑:还将发送方式更改为邮件。但是,如果您想查看邮件的调试,则需要在设置调试传递方法时在视图中执行echo $this->Session->flash('email');
答案 2 :(得分:0)
尝试并替换它:
$this->Email->from='<xyz@yahoo.com>';
$this->Email->to='<abc@gmail.com>';
有了这个:
$this->Email->from='XYZ <xyz@yahoo.com>';
$this->Email->to='ABC <abc@gmail.com>';
我遇到了类似的问题,如果您没有指定名称(XYZ,ABC),则不会发送电子邮件,也不会显示错误。我当时正在使用gmail的SMTP服务器,希望这会有所帮助。
此处还有关于电子邮件的Cookbook文章:http://book.cakephp.org/view/269/Sending-a-basic-message