Skip to content

dotkernel/dot-mail-outlook

Repository files navigation

dot-mail-outlook

Dotkernel's Microsoft Outlook ESMTP email service, implementing the client credentials grant_type.

dot-mail-outlook is a wrapper on top of dotkernel/dot-mail

Badges

OSS Lifecycle PHP from Packagist (specify version)

GitHub issues GitHub forks GitHub stars GitHub license

Build Static codecov PHPStan

Installation

Install dotkernel/dot-mail-outlook by executing the following Composer command:

composer require dotkernel/dot-mail-outlook

Register src/ConfigProvider.php in config/config.php by adding the following line:

\Dot\MailOutlook\ConfigProvider::class,

Configuration

Copy the dot-mail-outlook.local file to your autoload folder (or copy its contents to mail.global.php) and fill in the relevant information.

<?php

declare(strict_types=1);

$tenant = '';

return [
    'xoauth2_outlook' => [
        "tokenCacheFile"  => '',
        "tenant"          => $tenant,
        "access_code_url" => "https://login.microsoftonline.com/{$tenant}/oauth2/v2.0/token",
        "client_id"       => '',
        "client_secret"   => '',
        "scope"           => 'https://outlook.office.com/.default',
        "grant_type"      => 'client_credentials',
    ],
];

The dotkernel/dot-mail config file should be updated to make sure the necessary options are set:

  • transport MUST be set to under the dot_mail.default.transport key.
  • port MUST be set to 587 under the dot_mail.default.smtp_options.port key.
  • tls MUST be set to STARTTLS under the dot_mail.default.smtp_options.tls key.
  • host MUST be one of smtp-mail.outlook.com or smtp.office365.com under the dot_mail.default.smtp_options.host key.

Additional info

dotkernel/dot-mail-outlook makes use of SASL XOAUTH2 mechanism for use with the SMTP AUTH command.

To allow generating the bearer token in the background, without a user input required, dot-mail-outlook implements the client credentials flow from Microsoft:

Make sure to set all relevant permissions, give relevant tenant administrator consent and register the necessary service principals, as described in Microsoft's flow.

About

Microsoft Outlook ESMTP email service integration

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages