Repository URL to install this package:
|
Version:
6.2.1 ▾
|
<?php
namespace DigitalAscetic\MailBundle\Service;
use DigitalAscetic\MailBundle\Entity\Message;
use DigitalAscetic\MailBundle\Entity\MessageAttachment;
use DigitalAscetic\MailBundle\Entity\MessageList;
use DigitalAscetic\MailBundle\Entity\MailConfigInterface;
interface MailProviderInterface
{
/**
* @param MailConfigInterface $mailConfig
* @param array $optParams
* @return MessageList|null
* @opt_param string from From email address
* @opt_param string to To email address
* @opt_param string in mailbox identifier
* @opt_param string in page identifier of page requested
* @opt_param string in maxResults number of results for each page
*/
public function listEmails(MailConfigInterface $mailConfig, array $optParams = array()): ?MessageList;
/**
* @param MailConfigInterface $mailConfig
* @param array $optParams
* @return Message|null
* @opt_param string id Id email message
* @opt_param string in mailbox identifier
*/
public function getMessage(MailConfigInterface $mailConfig, array $optParams = array()): ?Message;
/**
* @param MailConfigInterface $mailConfig
* @param array $optParams
* @opt_param string id Id email message
* @opt_param string in mailbox identifier
*/
public function markAsRead(MailConfigInterface $mailConfig, array $optParams = array()): void;
/**
* @param MailConfigInterface $mailConfig
* @param string $messageId
* @param array $optParams
* @opt_param string in mailbox identifier
* @return bool
*/
public function deleteMessage(MailConfigInterface $mailConfig, string $messageId, array $optParams = array()): bool;
/**
* @param MailConfigInterface $mailConfig
* @param string[] $messageIds
* @param array $optParams
* @opt_param string in mailbox identifier
* @return bool
*/
public function batchDelete(MailConfigInterface $mailConfig, array $messageIds, array $optParams = array()): bool;
/**
* @param MailConfigInterface $mailConfig
* @param array $optParams
* @return MessageAttachment|null
* @opt_param string attachmentId Id Attachment
* @opt_param string messageId Id of message
*/
public function getMessageAttachment(
MailConfigInterface $mailConfig,
array $optParams = array()
): ?MessageAttachment;
/**
* @param MailConfigInterface $mailConfig
* @param Message $message
* @return bool
*/
public function sendMessage(MailConfigInterface $mailConfig, Message $message): bool;
/**
* @param MailConfigInterface $mailConfig
* @opt_param string pattern https://www.php.net/manual/en/function.imap-list.php
* @return string[]|null
*/
public function getFolders(MailConfigInterface $mailConfig, array $optParams = array()): ?array;
}