motze92 / office365-mail

Office365 transport for Laravel
MIT License
62 stars 21 forks source link

Laravel Microsoft Graph Mail driver - Mail Driver for Office365

Mail driver for the Laravel framework to send emails using Microsoft Graph without user authentication and SMTP. Only specify the E-Mail-Address in the FROM-Header of the E-Mail and this Office 365 Package will send the E-Mail trough the Microsoft Graph-Api and put the sent E-Mail in the sender's Mailbox sent folder.

Key features:

To use this package you have to register your application here. More informations here.

Install the Package

You can install the package with Composer, either run composer require motze92/office365-mail, or edit your composer.json file:

Laravel 9

For Laravel 9 please use

{
  "require": {
    "motze92/office365-mail": "^3.0"
  }
}

Laravel 8

For Laravel 8 please use

{
  "require": {
    "motze92/office365-mail": "^2.0"
  }
}

Laravel < 7

For Laravel 6 and earlier please use

{
  "require": {
    "motze92/office365-mail": "^1.0"
  }
}

To publish the config file use this command:

php  artisan  vendor:publish  --tag=office365mail

Configure

To obtain needed config values use this instructions:

The Mail.ReadWrite Permission is needed when sending large attachments (>4MB).

.env - File

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 - add to mailer configuration array (https://github.com/laravel/laravel/blob/7.x/config/mail.php)

'office365mail' => [
            'transport' => 'office365mail',
      ],

Credits

Moritz Mair, Matthias Radmüller, Merlin Mayr

Copyright and license

Copyright (c) Moritz Mair. All Rights Reserved. Licensed under the MIT license.