ad5jp / laravel-gmail
Laravel 邮件驱动程序,通过服务帐户使用 Gmail API
v4.0.3
2024-08-08 07:39 UTC
Requires
- php: ^7.2|^8.0
- google/apiclient: ^2.0
- google/apiclient-services: >=0.200.0
- laravel/framework: ^9.0|^10.0|^11.0
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 上创建服务帐户
- 在 Google Cloud Platform 控制台中创建一个项目。
- 启用 Gmail API。
- 创建一个服务帐户,生成一个密钥,并下载 JSON 格式的密钥。
- 在 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 组织内的电子邮件地址。