In Cake PHP Я пытаюсь создать форму для отправки писем. У меня есть функция mailsend (), но когда я пытаюсь отправить форму, у меня появляется ошибка «Вызов функции-члена mailsend () при нулевом значении». Я не вижу, что я делаю не так. Пожалуйста, помогите.
if($this->request->is('post')){
$data = $this->data;
$errors=array();
if(!$data['name']){$errors['name'] = 'Bitte geben Sie einen Namen ein';}
if(!$data['email']){$errors['email'] = 'Bitte geben Sie eine E-Mail-Adresse ein';}
if(!$data['title']){$errors['title'] = 'Bitte geben Sie einen Titel ein';}
if(!$data['description']){$errors['description'] = 'Bitte geben Sie eine Nachricht ein';}
if(count($errors) > 0){
//wystąpiły błędy
$result = array('res'=>'no','list'=>$errors);
$data['result'] = $result;
$el['Contact'] = $data;
//$this->vd($el);
//$this->set('el',$el);
}else{
$result = array('res'=>'yes','list'=>'Vielen Dank für das Senden einer E-Mail');
$txt = $data['name'].'<br>'.$data['description'];
$subject = $data['title'];
$from = $data['email'];
$this->Helpers->mailsend($txt, $subject, $from);
$data['result'] = $result;
$this->Contact->save($data);
$this->Session->setFlash('Nachricht gesendet');
$this->redirect(array('action' => 'contact/'));
}
}
public function mailsend($txt='', $subject='', $from=''){
$mail='xyz@gmail.com';
$header = "From: Kogni-Fit <office@xyz.at>".PHP_EOL;
$header .= "MIME-Version: 1.0".PHP_EOL;
$header .= "Content-type: text/html; charset=utf-8".PHP_EOL;
$message = '<html>
<head>
<title>'.$subject.'</title>
</head>
<body>
'.$txt.'<br><br>
'.$from.'
</body>
</html>';
return mail($mail, $subject, $message, $header);
}