innocoding / ms365-oauthmailer
This TYPO3 extension makes it possible to send emails in TYPO3 via Microsoft 365 using oAuth authentication (using the Microsoft Graph SDK)
Requires
- guzzlehttp/guzzle: ^7
- microsoft/microsoft-graph: ^2.31
- typo3/cms-core: ^12.3 || ^13
README
This is a TYPO3 extension that makes it possible to send emails in TYPO3 via Microsoft 365 using oAuth authentication (using the Microsoft Graph SDK).
Prerequisites
You need to configure a user in Microsoft 365 which is allowed to send out mails:
* Microsoft Graph
* Mail.Send - Application - Send mail as any user
* User.ReadBasicAll - Application - Read all users basic profiles
Note: The administrator must review the permissions on a case-by-case basis. The permissions suggested here should enable email sending, but may be too extensive for your specific use case.
You will need the following data:
- User ID (email address)
- Client ID
- Client Secret
- Tenant ID
Installation
This extension must be installed via composer because it installs some
dependencies (microsoft/microsoft-graph
and guzzlehttp/guzzle
).
composer req innocoding/ms365-oauthmailer
Configuration
Put this in your additional.php
:
'MAIL' => [
'transport' => 'InnoCoding\Ms365oAuthMailer\Mail\Ms365Transport',
'transport_user_id' => 'myuser@example.com',
'transport_client_id' => 'the-client-id',
'transport_client_secret' => 'the-client-secret',
'transport_tenant_id' => 'the-tenant-id',
],
Notes
- Only an HTML body is set in the mail. If the HTML body of the TYPO3 mail object is empty, the text body is used.
- Sender name and email address cannot be overwritten, this is taken from the Microsoft 365 user.
- Multiple receivers ("to") are supported
- CC, BCC and Reply-To is supported
- Attachments are supported
Issues
If you find bugs or have feature requests, please refer to
https://gitlab.com/innocoding/typo3/public/ms365-oauthmailer/-/issues
Support
If you need support, please write an email to typo3@innocoding.com
Changelog
You can find the changelog at
https://gitlab.com/innocoding/typo3/public/ms365-oauthmailer/-/blob/main/CHANGELOG.md