OpenXE/classes/Modules/SystemMailClient/MailClientProviderInterface.php
2021-05-21 08:49:41 +02:00

40 lines
961 B
PHP

<?php
declare(strict_types=1);
namespace Xentral\Modules\SystemMailClient;
use Xentral\Components\MailClient\Client\MailClientInterface;
use Xentral\Modules\SystemMailer\Data\EmailBackupAccount;
interface MailClientProviderInterface
{
/**
* @param int $userId
*
* @return MailClientInterface
*/
public function createMailClientByUserId(int $userId): MailClientInterface;
/**
* @param int $addressId
*
* @return MailClientInterface
*/
public function createMailClientByAddressId(int $addressId): MailClientInterface;
/**
* @param string $emailAddress
*
* @return MailClientInterface
*/
public function createMailClientByEmail(string $emailAddress): MailClientInterface;
/**
* @param EmailBackupAccount $account
*
* @return MailClientInterface
*/
public function createMailClientFromAccount(EmailBackupAccount $account): MailClientInterface;
}