bernhardwebstudio / msft-graph-mailer
A mailer for Symfony to send mails using Microsoft Graph
Requires
- microsoft/kiota-authentication-phpleague: ^1.0
- microsoft/microsoft-graph: ^2.2
- symfony/mailer: ^6.4|^7.0
Requires (Dev)
- symfony/http-client: ^6.4|^7.0
- symplify/easy-coding-standard: ^12.0.6
README
A mailer for Symfony to send mails using Microsoft Graph (i.e., send Office 365/Outlook/Exchange E-Mails)
Installation
Simply install using Composer:
composer require bernhardwebstudio/msft-graph-mailer
Configuration
You need to tell Symfony that this is a mail transport:
# services.yaml services: mailer.transport_factory.msftgraph: class: BernhardWebstudio\Mailer\Bridge\MsftGraphMailer\Transport\MsftGraphTransportFactory parent: mailer.transport_factory.abstract tags: - { name: "mailer.transport_factory" }
Finally, you need to configure the mailer bundle to use this transport, e.g. using an ENV variable like
MAILER_DSN=msft+graph://{client-id}:{client-secret}@outlook.com?saveToSent=1&tenant={tenant-id}
where you replace all the values in {}
with your own values from your active directory.
The tenant
and saveToSent
options are optional.
Usage
If you set the configuration correctly, that's all, you can simply use the Symfony mailer and you will be sending the E-Mails using the Microsoft Graph API.
Please note that this transport does not support all types of E-Mail messages in its best form. Please contribute if you understand enough about MIME and Microsoft Graph to fix this.
Additionally, Microsoft imposes restrictions on the sender E-Mail you can use.
Simply be aware of that when setting the From
of the E-Mail, please, if you want to prevent errors.