App Engine - PHP env - ошибка 500 при отправке электронной почты - PullRequest
0 голосов
/ 03 августа 2020

Я планирую отправить стоимость GCP заинтересованным лицам. Я использую движок приложений для размещения и отправки электронной почты.

https://cloud.google.com/solutions/automated-email-cloud-billing-summary

Я использую gcloudshell. Я получаю ошибку ниже.

Ошибка: 0.0.0.1:52050 [500]: /? Authuser = 0 & environment_name = default - Неперехваченная ошибка: класс 'google \ appengine \ api \ mail \ Message' не найдено в /home/project/billingemails/index.php:39 Трассировка стека: # 0 {main} добавлено в /home/project/billingemails/index.php в строке 39 '' '

Код:

    <?php
    
    namespace Google\Cloud\Samples\Auth;
    
    use Google\Auth\Credentials\GCECredentials;
    use google\appengine\api\app_identity\AppIdentityService;
    use Google\Cloud\BigQuery\BigQueryClient;
    use google\appengine\api\mail\Message;
    
    
    // Variables holding your values, replace before deploying
    $datatable = "projectid.billing_data.gcp_billing_export_v1_000000_000000_000000";
    $toemail = "gcpbilling@domain.com";
    $fromemail = "your@domain.com";
    
    $message = wordwrap($message, 70, "\r\n");
    
    try {
            $mailmsg = new Message();
            $mailmsg->setSender($fromemail);
            $mailmsg->addTo($toemail);
            $mailmsg->setSubject('GCP Billing Summary');
            $mailmsg->setTextBody($message);
            $mailmsg->send();
            printf('<br>---Mail sent successfully!---<br>');
    }
    catch (InvalidArgumentException $e) {
            printf('<br>---Error occurred, could not send email---<br>');
    }
    ?>

1 Ответ

0 голосов
/ 06 августа 2020

Судя по трассировке стека - нижеследующей части - класс Message пропущен.

Неперехваченная ошибка: класс 'google \ appengine \ api \ mail \ Message' не найден в /home/project/billingemails/index.php:39

По этой причине, пожалуйста, убедитесь, что этот класс хорошо написан и находится в нужной папке, поэтому ваш index.php файл может вызвать его правильно и отправить электронное письмо по назначению. После того, как этот класс окажется в нужном месте, все будет в порядке.

...