PHP Fatal error: Class 'Message' not found - Google App Engine

1.2k Views Asked by At

I am using Google App Engine and am trying to send email alerts with the Mail PHP API. I have defined a class with a public function but whenever I run it I get this error:

PHP Fatal error: Class 'Message' not found in...

PHP Code:

use \google\appengine\api\mail\Message;

    class crawls {
        public function check() {
                   try {
                    $message = new Message();
                    $message->setSender('Name <[email protected]>');
                    $message->addTo($recipients);
                    $message->setSubject('Subject');
                    $message->setHTMLBody("<p>Message</p>");
                    $message->send();
                } catch (InvalidArgumentException $e) {
                    $error = "Unable to send mail. $e";
                }
    }
}

Everything works when I move the code outside of the class, but I want it inside the class.

2

There are 2 best solutions below

2
On

Inherit Message class :

Define namespace if required.

class crawls extends \google\appengine\api\mail\Message {
    // your code
}
0
On

Try this may it works for you:

class crawls {
    public function check() {
           try {
                $message = new \google\appengine\api\mail\Message();
                $message->setSender('Name <[email protected]>');
                $message->addTo($recipients);
                $message->setSubject('Subject');
                $message->setHTMLBody("<p>Message</p>");
                $message->send();
            } catch (InvalidArgumentException $e) {
                $error = "Unable to send mail. $e";
            }
    }
}

Hope it helps