. */ namespace SP\Domain\Notification\Ports; use PHPMailer\PHPMailer\Exception; use SP\Core\Messages\MailMessage; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Config\Ports\ConfigDataInterface; use SP\Providers\Mail\MailParams; /** * Class MailService * * @package SP\Domain\Common\Services */ interface MailService { public static function getParamsFromConfig(ConfigDataInterface $configData): MailParams; /** * Checks mail params by sending a test email * * @throws ServiceException */ public function check(MailParams $mailParams, string $to): void; /** * @param string $subject * @param array|string $to * @param MailMessage $mailMessage * * @throws Exception * @throws ServiceException */ public function send(string $subject, string|array $to, MailMessage $mailMessage): void; }