Этот модуль представляет собой плагин, который работает с модулем SMTP PHPMailer, обеспечивая аутентификацию в Google Workspace Gmail через OAuth2. Он вдохновлен phpmailer_oauth2, написанным Яном Маклином (imclean). Если бы я не нашел модуль Яна, маловероятно, что я бы попытался работать над ним для Google Gmail.
ВАЖНО: Для этого модуля требуется модуль Google League/oauth2-google, доступный по адресу https://oauth2-client.thephpleague.com/providers/league/. Он должен быть установлен в каталог вашего поставщика.
Перед использованием этого модуля необходимо настроить идентификатор клиента и секрет клиента в Google. Вот как это сделать по состоянию на апрель 2024 г. и настроить этот модуль:
Войдите в свою учетную запись Google Workspace.
Перейдите на https://console.cloud.google.com/.
В левом верхнем углу страницы рядом с «Google Cloud» должен быть раскрывающийся список проектов. Нажмите на него.
Если у вас нет проектов, перечисленных в диалоговом окне «Выбор ресурса», создайте его, а затем выберите его в качестве текущего проекта.
Нажмите «API и сервисы» — большую кнопку где-то в центре страницы.
Нажмите «Учетные данные» в меню, которое появляется в левой части страницы.
Нажмите «СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ», затем выберите «Идентификатор клиента OAuth».
В качестве типа приложения выберите «Веб-приложение».
Назовите свои учетные данные и запишите свой идентификатор клиента и секрет клиента. Вам нужно будет ввести эти значения в (11) ниже.
После установки этого модуля вы можете найти «URI авторизованного перенаправления» для вашего сайта, перейдя в Конфигурация->Система->PHPMailer Gmail OAuth2 (/admin/config/system/phpmailer-gmail-oauth2). Откройте эту страницу в отдельном окне браузера, и вы найдете URI перенаправления, требуемый Google, в верхней части страницы. Скопируйте URI и введите его в поле «Авторизованные URI перенаправления» на странице Google. Нажмите Сохранить.
Вернувшись на страницу Drupal, введите свой адрес электронной почты Google, идентификатор клиента и секрет клиента, затем нажмите кнопку «Сохранить конфигурацию».
После того, как вы сохраните свои учетные данные Google, появится кнопка «Получить токен обновления». Нажмите эту кнопку, чтобы перенаправить с вашего сайта на Google, а затем следуйте инструкциям Google.
Когда вы закончите, Google должен выдать токен обновления и перенаправить обратно на страницу Drupal, которую вы только что покинули. Если все сработало, вы получите токен обновления и будете готовы отправить электронное письмо.
Если у вас возникли проблемы с перенаправлением в Google при нажатии кнопки «Получить токен обновления», вам может потребоваться добавить следующее в файл settings.php:
$ settings [ ' trusted_host_patterns ' ] = [ ' ^accounts.google.com$ ' ];
If you have other trusted_host_patterns, add '^accounts.google.com$' to the array.
Еще несколько пунктов настройки:
Не забудьте зайти в модуль «Почта» и выбрать «PHPMailer SMTP» в качестве средства форматирования и отправителя почты (/admin/config/system/mailsystem).
Если у вас есть другие модули, такие как Commerce 2, которые отправляют почту, вам может потребоваться добавить их внизу той же страницы в (1) выше.
На странице настроек транспорта SMTP PHPMailer выберите «Gmail OAuth2» в качестве метода аутентификации SMTP (/admin/config/system/phpmailer-smtp). Установите порт SMTP на 587 и выберите TLS в качестве безопасного протокола.
Вы можете использовать службу «Тестовая конфигурация» на странице настроек транспорта SMTP PHPMailer, чтобы убедиться, что новая конфигурация работает, отправив тестовое электронное письмо.