Allow user send with any email address from verified domain

MAILPOET-4601
This commit is contained in:
Oluwaseun Olorunsola
2022-09-13 17:46:11 +01:00
committed by Aschepikov
parent bb42da6a87
commit bd7da6b28c
2 changed files with 32 additions and 1 deletions

View File

@ -9,6 +9,7 @@ use MailPoet\Mailer\MailerFactory;
use MailPoet\Mailer\MailerLog;
use MailPoet\Mailer\MetaInfo;
use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Services\AuthorizedSenderDomainController;
use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController;
@ -29,6 +30,9 @@ class Mailer extends APIEndpoint {
/** @var MailerFactory */
private $mailerFactory;
/** @var AuthorizedSenderDomainController */
private $senderDomainController;
public $permissions = [
'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
];
@ -38,13 +42,15 @@ class Mailer extends APIEndpoint {
SettingsController $settings,
Bridge $bridge,
MailerFactory $mailerFactory,
MetaInfo $mailerMetaInfo
MetaInfo $mailerMetaInfo,
AuthorizedSenderDomainController $senderDomainController
) {
$this->authorizedEmailsController = $authorizedEmailsController;
$this->settings = $settings;
$this->bridge = $bridge;
$this->mailerFactory = $mailerFactory;
$this->mailerMetaInfo = $mailerMetaInfo;
$this->senderDomainController = $senderDomainController;
}
public function send($data = []) {
@ -89,4 +95,9 @@ class Mailer extends APIEndpoint {
$authorizedEmails = $this->bridge->getAuthorizedEmailAddresses();
return $this->successResponse($authorizedEmails);
}
public function getVerifiedSenderDomains() {
$verifiedDomains = $this->senderDomainController->getVerifiedSenderDomains();
return $this->successResponse($verifiedDomains);
}
}