dpromc / office365-mail
Laravel的Office365传输
v3.0
2022-10-26 15:59 UTC
Requires
- php: ^7.1.3 || ^8
- microsoft/microsoft-graph: ^1.5
Requires (Dev)
- laravel/framework: ^8.0
- mockery/mockery: ^1.3
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-26 20:21:18 UTC
README
使用Microsoft Graph而不进行用户身份验证和SMTP发送电子邮件的Laravel框架的邮件驱动程序。只需在电子邮件的FROM头中指定电子邮件地址,此Office 365包将通过Microsoft Graph-Api发送电子邮件,并将发送的电子邮件放入发送者的收件箱“已发送”文件夹。
主要功能
- 使用Microsoft Graph-Api而不是SMTP驱动程序发送电子邮件
- 自动将电子邮件放入“已发送”文件夹中的发件人
- 每个组织一个应用程序
- 支持多个域名
- 支持大型附件
- 比Office-365 SMTP更快且无错误
安装包
您可以使用Composer安装此包,运行composer require motze92/office365-mail
,或编辑您的composer.json
文件
Laravel 9
对于Laravel 9,请使用
{
"require": {
"motze92/office365-mail": "^3.0"
}
}
Laravel 8
对于Laravel 8,请使用
{
"require": {
"motze92/office365-mail": "^2.0"
}
}
Laravel < 7
对于Laravel 6及之前版本,请使用
{
"require": {
"motze92/office365-mail": "^1.0"
}
}
要发布配置文件,请使用此命令
php artisan vendor:publish --tag=office365mail
配置
要获取所需的配置值,请使用此说明
- 使用您的Office365管理员用户打开Azure Active Directory-Portal)
- 打开“管理”> 应用程序注册
- 创建一个新的应用程序
- 在应用程序中,在“管理”>“API权限”>“应用程序权限”下添加
Mail.ReadWrite
和Mail.Send
权限(Microsoft Graph > 应用程序权限 > 邮件 > Mail.ReadWrite和Microsoft Graph > 应用程序权限 > 邮件 > Mail.Send) - 保存权限后,为您的组织应用管理员权限
- 在“管理”>“证书和密钥”下创建一个新的客户端密钥,有效期为24个月,您稍后需要它来设置
.env
变量OFFICE365MAIL_CLIENT_SECRET
发送大型附件(>4MB)时需要Mail.ReadWrite
权限。
.env - 文件
Laravel < 7
MAIL_DRIVER=office365mail
OFFICE365MAIL_CLIENT_ID=YOUR-MS-GRAPH-CLIENT-ID
OFFICE365MAIL_TENANT=YOUR-MS-GRAPH-TENANT-ID
OFFICE365MAIL_CLIENT_SECRET=YOUR-MS-GRAPH-CLIENT-SECRET
Laravel > 7
MAIL_MAILER=office365mail
OFFICE365MAIL_CLIENT_ID=YOUR-MS-GRAPH-CLIENT-ID
OFFICE365MAIL_TENANT=YOUR-MS-GRAPH-TENANT-ID
OFFICE365MAIL_CLIENT_SECRET=YOUR-MS-GRAPH-CLIENT-SECRET
config/mail.php - 添加到邮件配置数组(https://github.com/laravel/laravel/blob/7.x/config/mail.php)
'office365mail' => [
'transport' => 'office365mail',
],
致谢
Moritz Mair,Matthias Radmüller,Merlin Mayr
版权和许可
版权(c)Moritz Mair。版权所有。在MIT许可下。