jliglesias / laravel-azure-mailer
为 Laravel 提供 Microsoft Azure ACS 集成。Azure Communication Services 允许您轻松地将实时多媒体语音、视频和 IP 电信通信功能添加到您的应用程序中。通信服务电子邮件客户端库还允许您添加聊天和电子邮件功能。
v0.1.1
2024-01-19 09:19 UTC
Requires
- php: >=8.2
- laravel/framework: ^10.0
- symfony/mailer: ^6.4
This package is auto-updated.
Last update: 2024-09-19 11:21:01 UTC
README
为 Symfony Mailer / Laravel 提供 Azure Communication Service 集成。
要求
- PHP 8.2 或更高版本。
- Laravel 10.x 或更高版本。
- Azure 账户、Azure CS 访问密钥和服务端点。
安装
第一次使用 Azure ECS?如果您还没有,请创建您的 Azure 账户。
-
如果尚未安装,请下载 Composer。
-
在项目目录中,在命令行上运行
composer require jliglesias/laravel-azure-mailer
-
获取您的 Azure CS 访问密钥和服务端点。
配置
将条目添加到 [root-of-laravel]/config/mail.php
<?php ... 'mailers' => [ //...other drivers 'azure' => [ 'transport' => 'azure', 'resource_name' => env('AZURE_MAIL_RESOURCE_NAME'), 'endpoint' => env('AZURE_MAIL_ENDPOINT', 'https://my-acs-resource-name.communication.azure.com'), 'access_key' => env('AZURE_MAIL_KEY'), 'api_version' => env('AZURE_MAIL_API_VERSION', '2023-03-31'), 'disable_user_tracking' => env('AZURE_MAIL_DISABLE_TRACKING', false), ], ] ?>
将条目添加到 [root-of-laravel]/.env
#...other entries
# Mail service entries...
MAIL_MAILER=azure
# Azure Service entries
AZURE_MAIL_RESOURCE_NAME=my-acs-resource-name
# AZURE_MAIL_ENDPOINT= #optional
AZURE_MAIL_KEY=AzureAccessToken
# AZURE_MAIL_API_VERSION=2023-03-31 #optional
# AZURE_MAIL_DISABLE_TRACKING=false #optional
文档
通过将 Azure Communication Service 集成到您的应用程序中,添加强大的云通信和客户参与体验。
- Azure Communication Service 文档:英文
- 为 Azure Communication Service 准备电子邮件通信资源:英文
- 使用 Laravel (10x) 发送邮件:英文
示例
简单邮件发送
Mail::to($request->user())
->cc($moreUsers)
->bcc($evenMoreUsers)
->send(new OrderShipped($order));
或
Mail::to([new Address('user.name@domain.com', 'My User Name'), ...])
->cc([new Address('user.name@domain.com', 'My User Name'), ...])
->bcc([new Address('user.name@domain.com', 'My User Name'), ...])
->send('my.view');
带有附件的邮件发送
$data = [
to => [new Address('user.name@domain.com', 'My User Name'), ...],
subject => 'Subject'
];
$files = [
public_path('files/160031367318.pdf'),
public_path('files/1599882252.png'),
];
Mail::send('my.view', $data, function($message)use($data, $files) {
$message->to($data["to"])
->subject($data["subject"]);
foreach ($files as $file){
$message->attach($file);
}
});
如果您需要更多信息,请阅读 Laravel (10x) 文档:英文
最后更改
** 0.1.0-beta.1
- 主要版本。
- 删除用于测试 AJAX(JQUERY)事件调度和回调的文件夹和文件。
许可证
MIT 许可证。版权所有 (c) 2024 - Juan Luis Iglesias。有关更多信息,请参阅 LICENSE 文件。