motze92 / office365-mail
用于Laravel的Office365传输
3.1.1
2023-05-16 15:12 UTC
Requires
- php: ^7.1.3 || ^8
- microsoft/microsoft-graph: ^1.5
README
用于Laravel框架的邮件驱动程序,可以通过Microsoft Graph发送邮件而无需用户认证和SMTP。只需在电子邮件的FROM头部中指定电子邮件地址,此Office 365包将通过Microsoft Graph-Api发送电子邮件,并将发送的电子邮件放入发件人的收件箱已发送文件夹。
关键特性
- 使用Microsoft Graph-Api而不是SMTP驱动程序发送电子邮件
- 自动将电子邮件放入FROM头部中用户发送文件夹
- 每个组织一个应用程序
- 支持多个域名
- 支持大文件附件
- 比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许可下发布。