CakePHP电子邮件-对非对象的成员函数subject()的调用

CakePHP电子邮件-对非对象的成员函数subject()的调用,cakephp,cakephp-2.3,Cakephp,Cakephp 2.3,我的应用程序可以在本地(使用AmazonSES)发送电子邮件,但在远程(一个带裸骨灯的digitalocean服务器)发送失败 下面的代码在这个问题的标题中生成消息 public function test() { $this->autoRender = false; App::uses('CakeEmail', 'Network/Email'); $email = new CakeEmail('transport')

我的应用程序可以在本地(使用AmazonSES)发送电子邮件,但在远程(一个带裸骨灯的digitalocean服务器)发送失败

下面的代码在这个问题的标题中生成消息

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();
}

任何输入都将不胜感激。

链中的一个调用将返回字符串,而不是CakeEmail对象

如果由于各种原因调用的参数变为
null
,则会发生这种情况。然后你的链子断了,你会在一个非对象上调用一个成员函数

如果查看这些函数的返回值,您将看到它们返回CakeEmail对象、字符串或数组。因为你没有得到一个对象,你必须得到字符串或数组,因此你的问题


因此,请确保您的“收件人”、“发件人”在远程服务器上不为空。

您是否可以尝试只使用
“主题”
而不是主题中的
\u(“主题”)
。如果我完全删除该行,错误将变成“从非对象上的()调用成员函数”,谢谢。解释链条内部的示例性答案。