inlinestudio / mailconnectors
A library with connectors for api based email sending on Google and O365
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- microsoft/microsoft-graph: ^1.5
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.28
- itsgoingd/clockwork: ^5.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2025-03-24 22:38:34 UTC
README
Laravel API Mail driver - Mail Driver for Office365 and (soon) Google
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 package will send the email trough the providers API and put the sent E-Mail in the sender's Mailbox sent folder.
O365 Key features:
- Send E-Mails with the Microsoft Graph-Api instead of the SMTP driver
- Automatically puts the E-Mail in the Sent folder of the user in the From-Header
- One Application per Organization
- Supports multiple Domains
- Supports large file attachments
- Faster and Error-less than the SMTP protocol
Install the Package
composer require inlinestudio/mailconnectors
Configure
O365
To use this package you have to register your application here. More informations here.
To obtain needed config values use this instructions:
- Open the Azure Active Directory-Portal) with your Office365 Admin-User
- Open the Section Manage > App-Registrations
- Create a new App
- Within the App under
Manage
>API-Permissions
>Application Permissions
add theMail.ReadWrite
and theMail.Send
permission (Microsoft Graph > Application Permissions > Mail > Mail.ReadWrite and Microsoft Graph > Application Permissions > Mail > Mail.Send) - After saving the permission apply the Admin-Permission for your organization
- In the Section Manage > Certificates and Secrets create a new Client Secret with Expiration = 24 months, this you need later for the
.env
- VariableOFFICE365MAIL_CLIENT_SECRET
The Mail.ReadWrite
Permission is needed when sending large attachments (>4MB).
.env - File
MAIL_MAILER=O365
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
'O365' => [
'transport' => 'O365',
],
Google (soon)
Copyright and license
Copyright © InlineStudio. All Rights Reserved. Licensed under the MIT license.