This library provides e-mail sending via Microsoft Graph API.
composer require adbros/nette-microsoft-mailer
- 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)
- Go to API permissions
- Click on "Add a permission"
- Select "Microsoft Graph" => Application permissions
- Select
Mail.Send
- Click on "Grant admin consent"
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'
)
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);
}
}