Как я могу отправлять электронную почту, используя Gmail API в php - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь отправить электронное письмо без включения менее безопасного приложения в аккаунте Google.

Я нашел альтернативный вариант отправки электронной почты с помощью Gmail. Я все настроил настройку Gmail API, но я не могу отправлять почту, используя Gmail API в основном php.

1 Ответ

0 голосов
/ 14 ноября 2018

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

Единственный известный мне способ обойти это - отказаться от использования API Gmail и перейти напрямую через SMTP-сервер.Вам, вероятно, потребуется использовать имя пользователя и пароль, если вам не удастся заставить xoauth2 работать

Информация о бонусе Отправить письмо php код

$client = getClient();

$service = new \Google_Service_Gmail($client);
$mailer = $service->users_messages;

$message = (new \Swift_Message('Here is my subject'))
    ->setFrom('MailFrom@myserver.com')
    ->setTo(['MailTo@someserver.com'=>'Test Name'])
    ->setContentType('text/html')
    ->setCharset('utf-8')
    ->setBody('<h4>Here is my body</h4>');

$msg_base64 = (new \Swift_Mime_ContentEncoder_Base64ContentEncoder())
    ->encodeString($message->toString());

$message = new \Google_Service_Gmail_Message();
$message->setRaw($msg_base64);
$message = $mailer->send('me', $message);
print_r($message);
...