AzureOAuthSMTP
extends SmtpOAuthPluginBase
in package
Table of Contents
Constants
- SETUP_STATUS_INCOMPLETE_CREDENTIALS = 3
- SETUP_STATUS_INVALID_REFRESH_TOKEN = 5
- SETUP_STATUS_MISSING_REFRESH_TOKEN = 4
- SETUP_STATUS_REQUIREMENT_UNMET = 2
- SETUP_STATUS_VALID_REFRESH_TOKEN = 1
Properties
- $allowedPublicMethods : mixed
- $credentialAttributes : array<string|int, string>
- $description : mixed
- $name : mixed
- $settings : mixed
- $storage : mixed
Methods
- afterReceiveOAuthResponse() : mixed
- Default handler for the afterReceiveOAuthResponse event
- afterSelectEmailPlugin() : mixed
- Handles the afterSelectEmailPlugin event, triggered when the plugin is selected as email plugin in Global Settings
- beforeActivate() : mixed
- TODO: Remove this once we drop support for PHP 7.2
- beforeEmailDispatch() : mixed
- Handles the beforeEmailDispatch event, triggered right before an email is sent.
- beforePrepareRedirectToAuthPage() : mixed
- Handles the beforePrepareRedirectToAuthPage event, triggered before the page with the "Get Token" button is rendered.
- beforeRedirectToAuthPage() : mixed
- Default handler for beforeRedirectToAuthPage
- getHealthStatusText() : mixed
- getOAuthConfigForMailer() : array<string, mixed>|null
- Returns the OAuth configuration for PHPMailer
- getPluginSettings() : mixed
- getPluginTwigPath() : mixed
- Adds view's path to twig system
- init() : mixed
- listEmailPlugins() : mixed
- Adds the plugin to the list of email plugins
- MailerConstruct() : mixed
- Default handler for the MailerConstruct event, triggered during LimeMailer initialization.
- saveSettings() : mixed
- afterRefreshTokenRetrieved() : mixed
- This method is invoked after the refresh token is retrieved.
- clearRefreshToken() : mixed
- Clears the stored refresh token
- getAuthorizationOptions() : array<string, mixed>
- Returns the OAuth options for authorization (like the scope)
- getCredentials() : array<string, mixed>
- Returns the credentials according to the plugin specified credential attributes
- getDisplayName() : mixed
- getEmailPluginInfo() : EmailPluginInfo
- Returns the plugin's metadata
- getHealthStatusClass() : mixed
- getHealthStatusIcon() : mixed
- getProvider() : AbstractProvider
- Returns the OAuth provider object for the specified credentials
- getRedirectUri() : mixed
- getSetupStatus() : mixed
- Returns the setup status of the plugin.
- getSetupStatusAlert() : string
- Renders the contents of the "information" setting depending on settings and token validity.
- getSetupStatusDescription() : mixed
- haveCredentialsChanged() : mixed
- Returns true if the credentials have changed
- isActive() : bool
- Returns true if the plugin is active
- isCurrentEmailPlugin() : bool
- Returns true if the plugin is the currently selected email plugin
- saveRefreshToken() : mixed
- Saves the specified refresh token and associated credentials
- setupMailer() : mixed
- Applies the basic OAuth configuration to the given LimeMailer
- validateCredentials() : bool
- Checks if the credentials are valid.
- validateRefreshToken() : bool
- Returns true if the specified refresh token is valid
- getHelpContent() : mixed
- retrieveRefreshToken() : mixed
- Retrieve and store the refresh token
Constants
SETUP_STATUS_INCOMPLETE_CREDENTIALS
public
mixed
SETUP_STATUS_INCOMPLETE_CREDENTIALS
= 3
SETUP_STATUS_INVALID_REFRESH_TOKEN
public
mixed
SETUP_STATUS_INVALID_REFRESH_TOKEN
= 5
SETUP_STATUS_MISSING_REFRESH_TOKEN
public
mixed
SETUP_STATUS_MISSING_REFRESH_TOKEN
= 4
SETUP_STATUS_REQUIREMENT_UNMET
public
mixed
SETUP_STATUS_REQUIREMENT_UNMET
= 2
SETUP_STATUS_VALID_REFRESH_TOKEN
public
mixed
SETUP_STATUS_VALID_REFRESH_TOKEN
= 1
Properties
$allowedPublicMethods
public
mixed
$allowedPublicMethods
= []
Tags
$credentialAttributes
protected
array<string|int, string>
$credentialAttributes
= ['clientId', 'clientSecret', 'tenantId']
The names of attributes that form part of the credentials set. Example: ['clientId', 'clientSecret']
Tags
$description
protected
static mixed
$description
= 'Core: Adds Azure OAuth support for email sending'
$name
protected
static mixed
$name
= 'AzureOAuthSMTP'
$settings
protected
mixed
$settings
= ['help' => ['type' => 'info', 'content' => ''], 'clientId' => ['type' => 'string', 'label' => 'Client ID'], 'clientSecret' => ['type' => 'string', 'label' => 'Client Secret'], 'tenantId' => ['type' => 'string', 'label' => 'Tenant ID']]
$storage
protected
mixed
$storage
= 'DbStorage'
Methods
afterReceiveOAuthResponse()
Default handler for the afterReceiveOAuthResponse event
public
afterReceiveOAuthResponse() : mixed
afterSelectEmailPlugin()
Handles the afterSelectEmailPlugin event, triggered when the plugin is selected as email plugin in Global Settings
public
afterSelectEmailPlugin() : mixed
beforeActivate()
TODO: Remove this once we drop support for PHP 7.2
public
beforeActivate() : mixed
beforeEmailDispatch()
Handles the beforeEmailDispatch event, triggered right before an email is sent.
public
beforeEmailDispatch() : mixed
This is used to override the sender with the logged user, and to set the "Reply To" header, because Azure doesn't accept the sender to be different from the logged user.
beforePrepareRedirectToAuthPage()
Handles the beforePrepareRedirectToAuthPage event, triggered before the page with the "Get Token" button is rendered.
public
beforePrepareRedirectToAuthPage() : mixed
beforeRedirectToAuthPage()
Default handler for beforeRedirectToAuthPage
public
beforeRedirectToAuthPage() : mixed
getHealthStatusText()
public
getHealthStatusText() : mixed
Tags
getOAuthConfigForMailer()
Returns the OAuth configuration for PHPMailer
public
getOAuthConfigForMailer() : array<string, mixed>|null
Tags
Return values
array<string, mixed>|nullgetPluginSettings()
public
getPluginSettings([mixed $getValues = true ]) : mixed
Parameters
- $getValues : mixed = true
Tags
getPluginTwigPath()
Adds view's path to twig system
public
getPluginTwigPath() : mixed
init()
public
init() : mixed
listEmailPlugins()
Adds the plugin to the list of email plugins
public
listEmailPlugins() : mixed
MailerConstruct()
Default handler for the MailerConstruct event, triggered during LimeMailer initialization.
public
MailerConstruct() : mixed
The event is expected to be dispatched specifically for the selected email plugin.
saveSettings()
public
saveSettings(mixed $settings) : mixed
Parameters
- $settings : mixed
Tags
afterRefreshTokenRetrieved()
This method is invoked after the refresh token is retrieved.
protected
afterRefreshTokenRetrieved(mixed $provider, mixed $token) : mixed
Parameters
- $provider : mixed
- $token : mixed
Tags
clearRefreshToken()
Clears the stored refresh token
protected
clearRefreshToken() : mixed
getAuthorizationOptions()
Returns the OAuth options for authorization (like the scope)
protected
getAuthorizationOptions() : array<string, mixed>
Tags
Return values
array<string, mixed>getCredentials()
Returns the credentials according to the plugin specified credential attributes
protected
getCredentials() : array<string, mixed>
Tags
Return values
array<string, mixed> —The credentials array
getDisplayName()
protected
getDisplayName() : mixed
Tags
getEmailPluginInfo()
Returns the plugin's metadata
protected
getEmailPluginInfo() : EmailPluginInfo
Return values
EmailPluginInfogetHealthStatusClass()
protected
getHealthStatusClass(mixed $setupStatus) : mixed
Parameters
- $setupStatus : mixed
getHealthStatusIcon()
protected
getHealthStatusIcon(mixed $statusClass) : mixed
Parameters
- $statusClass : mixed
getProvider()
Returns the OAuth provider object for the specified credentials
protected
getProvider(mixed $credentials) : AbstractProvider
Parameters
- $credentials : mixed
Tags
Return values
AbstractProvidergetRedirectUri()
protected
getRedirectUri() : mixed
getSetupStatus()
Returns the setup status of the plugin.
protected
getSetupStatus() : mixed
getSetupStatusAlert()
Renders the contents of the "information" setting depending on settings and token validity.
protected
getSetupStatusAlert() : string
Tags
Return values
stringgetSetupStatusDescription()
protected
getSetupStatusDescription(mixed $setupStatus) : mixed
Parameters
- $setupStatus : mixed
haveCredentialsChanged()
Returns true if the credentials have changed
protected
haveCredentialsChanged(mixed $oldCredentials, mixed $newCredentials) : mixed
Parameters
- $oldCredentials : mixed
- $newCredentials : mixed
isActive()
Returns true if the plugin is active
protected
isActive() : bool
Return values
boolisCurrentEmailPlugin()
Returns true if the plugin is the currently selected email plugin
protected
isCurrentEmailPlugin() : bool
Return values
boolsaveRefreshToken()
Saves the specified refresh token and associated credentials
protected
saveRefreshToken(mixed $refreshToken, mixed $credentials) : mixed
Parameters
- $refreshToken : mixed
- $credentials : mixed
setupMailer()
Applies the basic OAuth configuration to the given LimeMailer
protected
setupMailer(mixed $mailer) : mixed
Parameters
- $mailer : mixed
Tags
validateCredentials()
Checks if the credentials are valid.
protected
validateCredentials(array<string, mixed> $credentials) : bool
By default, it checks if the credentials are not empty.
Parameters
- $credentials : array<string, mixed>
Return values
bool —True if the credentials are valid, false otherwise.
validateRefreshToken()
Returns true if the specified refresh token is valid
protected
validateRefreshToken(string $refreshToken, array<string, mixed> $credentials) : bool
Parameters
- $refreshToken : string
- $credentials : array<string, mixed>
Return values
boolgetHelpContent()
private
getHelpContent() : mixed
retrieveRefreshToken()
Retrieve and store the refresh token
private
retrieveRefreshToken(mixed $code, mixed $credentials) : mixed
Parameters
- $code : mixed
- $credentials : mixed