ad5jp/laravel-gmail

Laravel 邮件驱动程序,通过服务帐户使用 Gmail API

v4.0.3 2024-08-08 07:39 UTC

README

此包允许您将 Gmail API 作为 Laravel 中的邮件发送器使用。您可以通过 Gmail API 发送电子邮件,而无需修改现有代码。

本包使用服务帐户发送电子邮件,而不是使用 OAuth。这消除了用户身份验证过程和访问令牌管理的需要,同时确保该方法不归属于 LSA(不安全的应用)。

这里也是日语版本

安装

composer require ad5jp/laravel-gmail  

根据您的环境指定版本

  • v4.x ... Laravel 9 及更高版本
  • v3.x ... Laravel 7 - 8
  • v2.x ... Laravel 6 及更早版本
  • v1.x ... Laravel 6 及更早版本,在 v0.200.0 之前使用 google/apiclient-service

用法

1. 在 Google Cloud Platform 上创建服务帐户

  1. 在 Google Cloud Platform 控制台中创建一个项目。
  2. 启用 Gmail API。
  3. 创建一个服务帐户,生成一个密钥,并下载 JSON 格式的密钥。
  4. 在 Google Workspace 管理控制台中设置“域全局委派”。将上面创建的服务帐户分配给作用域 https://www.googleapis.com/auth/gmail.send

2. 放置密钥

将步骤 2 中下载的 JSON 密钥放置在您的应用程序中。请确保使用 .gitignore 或类似方法将其排除在源代码控制之外。

3. 配置 .env

将您的 .env 文件中的 MAIL_MAILER 的值更改为 gmail。(或将 config/mail.php 中的 'default' 值更改为 'gmail')

对于 Laravel 6 及更早版本,将您的 .env 文件中的 MAIL_DRIVER 的值更改为 gmail。(或将 config/mail.php 中的 'driver' 值更改为 'gmail')

将以下行添加到您的 .env 文件中

GMAIL_FROM_ADDRESS={Sender's email address}  
GMAIL_SERVICE_ACCOUNT_KEY={Path to the JSON key placed in step 2}  

发送者的电子邮件地址必须是步骤 1(4)中设置的 Google Workspace 组织内的电子邮件地址。