/azure-mailer-driver

Provides Azure Communication Service integration for Symfony Mailer / Laravel.

Primary LanguagePHPMIT LicenseMIT

Microsoft Azure Mailer for Laravel

βœ… Simple implementation example of Symfony Azure Mailer Bridge for Laravel Framework.

βœ… Bootable scripts for Laravel 9+

Latest Stable Version Latest Unstable Version Total Downloads License

A use case of the symfony/azure-mailer component using bootable scripts in the Laravel framework to send email messages.

πŸ’‘ Requirements

🧩 Available resources

Resource Status
Plain Text βœ…
HTML βœ…
Attachments βœ…
Multiple recipients βœ…
Auth HMAC-SHA256 βœ…
Notifications βœ…
Mkt Campaigns βœ…
Markdown βœ…

πŸ“¦ Installation

First time using Azure ECS? Create your Azure account, if you don’t have one already.

  1. Download Composer if not already installed

  2. On your project directory run on the command line composer require hafael/azure-mailer-driver

  3. Get your Azure CS Access Key and Service Endpoint.

🌟 Set mail config

Add entry to [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),
            'http'                  => []
        ],
    ]

  ?>

Add entry to [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=Base64AzureAccessToken
  # AZURE_MAIL_API_VERSION=2023-03-31 #optional
  # AZURE_MAIL_DISABLE_TRACKING=false #optional
  

and just sent your notification mail messages!

πŸ“š Documentation

Build powerful, cloud-based communication and customer engagement experiences by adding voice, video, chat, sms, email, teams interoperability, call automation, and telephony to your apps.

Visit our Dev Site for further information regarding:

  • Azure Communication Service Docs: English

πŸ’‘ Last change

** 0.3.0

  • Change to Symfony Azure Bridge
  • New entry in config and .env file: "resource_name" and "AZURE_MAIL_RESOURCE_NAME"

πŸ“œ License

MIT license. Copyright (c) 2023 - Rafael For more information, see the LICENSE file.