jliglesias/laravel-azure-mailer

为 Laravel 提供 Microsoft Azure ACS 集成。Azure Communication Services 允许您轻松地将实时多媒体语音、视频和 IP 电信通信功能添加到您的应用程序中。通信服务电子邮件客户端库还允许您添加聊天和电子邮件功能。

v0.1.1 2024-01-19 09:19 UTC

This package is auto-updated.

Last update: 2024-09-19 11:21:01 UTC


README

为 Symfony Mailer / Laravel 提供 Azure Communication Service 集成。

要求

安装

第一次使用 Azure ECS?如果您还没有,请创建您的 Azure 账户

  1. 如果尚未安装,请下载 Composer

  2. 在项目目录中,在命令行上运行 composer require jliglesias/laravel-azure-mailer

  3. 获取您的 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

  • 主要版本。

** 0.1.1.-beta.1

  • 删除用于测试 AJAX(JQUERY)事件调度和回调的文件夹和文件。

许可证

MIT 许可证。版权所有 (c) 2024 - Juan Luis Iglesias。有关更多信息,请参阅 LICENSE 文件。