paubikas / laravel-msgraph-mailer
Laravel 9/10 的邮件驱动,使用 Microsoft Graph 发送邮件,支持个人账户以及工作/学校账户(365/Exchange)
1.1
2024-08-20 15:16 UTC
Requires
- php: >=8.2
- ext-json: *
- guzzlehttp/guzzle: ^7.4.5
- illuminate/support: ^10.0 | ^11.0
- laravel/framework: ^10.0 | ^11.0
- symfony/http-client: ^6.0|v7.0
- symfony/mailer: ^5.4|^6.0|^7.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^9.1 | ^10.0
README
此包使得您可以通过 Microsoft 的 Graph API 从个人、工作或学校账户发送电子邮件,让您在 Laravel 中使用 HTTP 而不是 SMTP。
受 wapacro/laravel-msgraph-mail 启发,并修复以与 Laravel 9 兼容
安装
使用 composer 安装此包
composer require paubikas/laravel-msgraph-mailer
将配置添加到您的 mail.php 配置文件中
'mailers' => [ 'microsoft-graph' => [ 'transport' => 'microsoft-graph', 'tenant' => env('MAIL_MSGRAPH_TENANT', 'common'), 'client' => env('MAIL_MSGRAPH_CLIENT'), 'secret' => env('MAIL_MSGRAPH_SECRET') 'saveToSentItems' => env('MAIL_MSGRAPH_SAVE_TO_SENT_ITEMS', false) ] // ... ]
将配置添加到您的 ENV 文件中
MAIL_MAILER=microsoft-graph MAIL_MSGRAPH_TENANT= MAIL_MSGRAPH_CLIENT= MAIL_MSGRAPH_SECRET= MAIL_MSGRAPH_SAVE_TO_SENT_ITEMS=false
tenant
的有效值是您的租户标识符(工作 & 学校账户)或对于个人账户为 common
。
注意:此包依赖于 Laravel 的 Cache 接口 进行访问令牌的缓存。请确保正确配置它!
获取凭证
要获取必要的客户端 ID 和密钥,您需要注册您的应用程序并授予它所需的权限。请访问Azure 门户进行操作(您不需要是 Azure 用户)。
请确保授予 Mail.Send 权限,并在之后生成密钥(可能在应用程序注册期间隐藏)。
工作 & 学校账户:授予您的应用程序 Mail.Send 权限将默认允许您使用公司/学校中的每个有效电子邮件地址发送电子邮件。使用Exchange Online 应用程序访问策略来限制哪些电子邮件地址是您的应用程序的有效发送者。