«Вызов функции-члена mailsend () на null» в Cake PHP 2 - PullRequest
0 голосов
/ 14 апреля 2020

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