使用PHP在Google App Engine上发送邮件时出错

时间:2019-03-02 09:06:15

标签: google-app-engine lumen php-7.2

我有Lumen在Google App Engine实例上运行,除发送邮件外,一切都很好。无论我尝试什么,都无法在日志中找到错误,标准的PHP mail()都会返回false

/**
 * Deliver an email
 * 
 * @param string $to_email
 * @param string $body
 * @param string $subject
 * 
 * @return bool
 */
static public function send($to_email, $body, $subject)
{
    $headers = 'From: myemail@gmail.com' . "\r\n" .
        'Reply-To: myemail+punkr@gmail.com' . "\r\n" .
        'X-Mailer: Punkr/1.0';
    return mail($to_email, $subject, $body, $headers);
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您的发送邮件不起作用可能是由于不同的原因:

  1. 发送者的电子邮件ID应该作为所有者添加到AppEngine项目中,或使用服务帐户ID作为发送者。 Documentation
  2. 如果上述方法对您不起作用,则可以尝试另一种方法。

     use google\appengine\api\mail\Message;
    
     try {
         $message = new Message();
         $message->setSender('from@example.com');
         $message->addTo('to@example.com');
         $message->setSubject('Example email');
         $message->setTextBody('Hello, world!');
         $message->send();
         echo 'Mail Sent';
         } catch (InvalidArgumentException $e) {
         echo 'There was an error';
        }
    

希望这能回答您的问题!!!!!