2017-04-17 8 views
0

CakePHPの電子メールコードを使用しているときに、以下のエラーが表示されます: - 未定義のメソッドCake \ Mailer \ Email :: setFrom()を呼び出してください。未定義のメソッドを呼び出すCake Mailer Email :: setFrom()CakePHP 3に来る

私のCakePHPの3電子メールのコードは以下の通りです: -

私はコントローラー 使用ケーキ\メーラー\メールの上部にあるEmailクラスを追加している

。コントローラのメソッドで

、私はコードの下に使用しています: -

$email = new Email('default'); 
$email->setFrom(['[email protected]' => 'Test Email']) 
->setTo('[email protected]') 
->setSubject('Testing Email !!') 
->send('Testing Email with CakePHP 3'); 

私を助けてください!

+0

あなたはケーキ<3.1またはそれ以降のものを使用していますか? – gaganshera

+0

正確なバージョンを確認するにはどうすればよいですか? –

+0

3.3.8、ベンダー\ cakephp \ cakephp \ VERSION.txtにあります。 –

答えて

0

どうやら大丈夫です!

説明する前に簡単にvar_dump($email)を使用してテストすることができます。

メソッドがクラスに存在するかどうかをチェックすることができます:

var_dump(method_exists(Cake\Mailer\Email::class, 'setFrom')); 

または:

var_dump(method_exists($email, 'setFrom')); 

あなたはまた、ケーキ\メーラー\メールファイル内に移動し、方法があれば見ることができます。

+0

bool(false)はvar_dump(method_exists(Cake \ Mailer \ Email :: class、 'setFrom'))で来ます。 –

+0

これは本当ですか? $ email =新しいCake \ Mailer \ Email(); var_dump(method_exists($ email、 'setFrom')); – Alejandro

+0

クラス 'App \ Controller \ Cake \ Mailer \ Email'が見つかりませんが、上部にCake \ Mailer \ Emailを追加しました。 –

0

ゆうが使用する必要があります。

$email = new Email('default'); 
$email->from(['[email protected]' => 'Test Email']) 
->to('[email protected]') 
->subject('Testing Email !!') 
->send('Testing Email with CakePHP 3'); 
関連する問題