adbros / nette-microsoft-mailer
v0.2
2025-03-19 14:12 UTC
Requires
- php: >=8.1
- microsoft/microsoft-graph: ^2.0
- nette/mail: ^3.0 || ^4.0
Requires (Dev)
- contributte/qa: ^0.3.1
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.12
- tracy/tracy: ^2.10
README
This library provides e-mail sending via Microsoft Graph API.
How to install
composer require adbros/nette-microsoft-mailer
Azure setup
Register an application in Azure Portal
- Go to Azure Portal
- Go to Microsoft Entra ID -> App registrations
- Click on "New registration"
- Fill in the form:
- Name:
Your app name
- Supported account types:
Accounts in this organizational directory only (Single tenant)
- Redirect URI:
http://localhost
- Name:
- Save
- Application (client) ID
- Directory (tenant) ID
- Client secret (create a new one in the "Certificates & secrets" tab)
API permissions
- Go to API permissions
- Click on "Add a permission"
- Select "Microsoft Graph" => Application permissions
- Select
Mail.Send
- Click on "Grant admin consent"
Register mailer
Just rewrite the default mailer service in your neon
file.
services: mail.mailer: Adbros\MicrosoftMailer\MicrosoftMailer( tenantId: 'tenant_id' clientId: 'client_id' clientSecret: 'client_secret' defaultSender: 'default_sender_email' )
Usage
Use as standard Nette Mailer.
<?php use Nette\Mail\Mailer; use Nette\Mail\Message; class SomeClass { public function __construct( private Mailer $mailer, ) { } public function sendEmail(): void { $message = new Message(); $message->setSubject('Hello World!'); $message->setHtmlBody('<h1>Hello World!</h1>'); $message->addTo('john.doe@example.org'); $this->mailer->send($message); } }