我的应用程序在本地(使用amazon ses)发送电子邮件很好,但在远程(具有准系统LAMP的数字海洋服务器)上失败.
以下代码在此问题的标题中生成消息.
public function test() { $this->autoRender = false; App::uses('CakeEmail', 'Network/Email'); $email = new CakeEmail('transport'); $email->template('welcome', 'default') ->emailFormat('both') ->to('recpt@domain.com') ->from('sender@domain.com') ->subject(__('A subject')) ->send(); }
任何投入将不胜感激.
您在Chain中的一个调用将返回一个字符串而不是CakeEmail对象.
如果由于各种原因呼叫的参数变为,则会发生这种情况null
.然后你的链断了,你最终会在非对象上调用一个成员函数;
如果查看这些函数的返回值,您将看到它们返回CakeEmail对象,字符串或数组.由于你没有得到一个对象,你必须得到字符串或数组,因此你的问题.
因此,请确保远程服务器上的"to","from"不为空.