Repository URL to install this package:
|
Version:
6.2.1 ▾
|
<?php
namespace DigitalAscetic\MailBundle\Entity;
use DigitalAscetic\BaseEntityBundle\Entity\BaseObject;
use Symfony\Component\Mime\Address;
class Message extends BaseObject
{
const MIME_TYPE_HTML = 'text/html';
const MIME_TYPE_PLAIN = 'text/plain';
const ACTION_REPLY = 'REPLY';
const ACTION_REPLY_ALL = 'REPLY_ALL';
const ACTION_FORWARD = 'FORWARD';
/**
* @param MessageAddress[]|MessageAddress $msgAdresses
* @return array
*/
public static function convertMessageAddressToRFC822($msgAdresses)
{
$address = array();
if (!empty($msgAdresses)) {
if (is_array($msgAdresses)) {
foreach ($msgAdresses as $msgAdress) {
$address[$msgAdress->getAddress()] = $msgAdress->getName();
}
} else {
$address[$msgAdresses->getAddress()] = $msgAdresses->getName();
}
}
return $address;
}
public static function convertMessageAddressToAddress(MessageAddress $msgAddress): Address
{
return new Address($msgAddress->getAddress(), $msgAddress->getName());
}
public static function convertMessageAddressArrayToAddressArray(array $msgAddresses): array
{
$addresses = [];
/** @var MessageAddress[] $msgAddresses */
foreach ($msgAddresses as $msgAddress) {
$addresses[] = new Address($msgAddress->getAddress(), $msgAddress->getName());
}
return $addresses;
}
/** @var string */
private string $externalId;
/** @var string|null */
private ?string $subject = null;
/** @var MessageAddress|null */
private ?MessageAddress $from = null;
/** @var MessageAddress[] */
private $to = [];
/** @var MessageAddress[]|null */
private $cc = [];
/** @var MessageAddress[]|null */
private $bcc = [];
/** @var \DateTime */
private \DateTime $date;
/** @var string|null */
private ?string $body = null;
/** @var string|null */
private ?string $mimeType = null;
/** @var MessageAttachment[]|null */
private $attachments = [];
/** @var string|null */
private ?string $threadId = null;
/** @var array */
private $headers = [];
/** @var string|null */
private ?string $action = null;
/** @var bool|null */
private ?bool $unseen = null;
/**
* Message constructor.
* @param MessageAddress $from
* @param array $to
* @param string $body
*/
public function __construct(MessageAddress $from, array $to, string $body)
{
$this->from = $from;
$this->to = $to;
$this->body = $body;
}
/**
* @return string
*/
public function getExternalId(): string
{
return $this->externalId;
}
/**
* @param string $externalId
*/
public function setExternalId(string $externalId): void
{
$this->externalId = $externalId;
}
/**
* @return string|null
*/
public function getSubject(): ?string
{
return $this->subject;
}
/**
* @param string|null $subject
*/
public function setSubject(?string $subject): void
{
$this->subject = $subject;
}
/**
* @return MessageAddress|null
*/
public function getFrom(): ?MessageAddress
{
return $this->from;
}
/**
* @param MessageAddress|null $from
*/
public function setFrom(?MessageAddress $from): void
{
$this->from = $from;
}
/**
* @return MessageAddress[]
*/
public function getTo(): array
{
return $this->to;
}
/**
* @param MessageAddress[] $to
*/
public function setTo(array $to): void
{
$this->to = $to;
}
/**
* @param MessageAddress $address
*/
public function addTo(MessageAddress $address): void
{
array_push($this->to, $address);
}
/**
* @return \DateTime
*/
public function getDate(): \DateTime
{
return $this->date;
}
/**
* @param \DateTime $date
*/
public function setDate(\DateTime $date): void
{
$this->date = $date;
}
/**
* @return string|null
*/
public function getBody(): ?string
{
return $this->body;
}
/**
* @param string|null $body
*/
public function setBody(?string $body): void
{
$this->body = $body;
}
/**
* @return string|null
*/
public function getMimeType(): ?string
{
return $this->mimeType;
}
/**
* @param string|null $mimeType
*/
public function setMimeType(?string $mimeType): void
{
$this->mimeType = $mimeType;
}
/**
* @return MessageAttachment[]|null
*/
public function getAttachments(): ?array
{
return $this->attachments;
}
/**
* @param MessageAttachment[]|null $attachments
*/
public function setAttachments(?array $attachments): void
{
$this->attachments = $attachments;
}
/**
* @param MessageAttachment $attachment
*/
public function addAttachment(MessageAttachment $attachment): void
{
array_push($this->attachments, $attachment);
}
/**
* @return MessageAddress[]|null
*/
public function getCc(): ?array
{
return $this->cc;
}
/**
* @param MessageAddress[]|null $cc
*/
public function setCc(?array $cc): void
{
$this->cc = $cc;
}
/**
* @param MessageAddress $address
*/
public function addCc(MessageAddress $address): void
{
array_push($this->cc, $address);
}
/**
* @return MessageAddress[]|null
*/
public function getBcc(): ?array
{
return $this->bcc;
}
/**
* @param MessageAddress[]|null $bcc
*/
public function setBcc(?array $bcc): void
{
$this->bcc = $bcc;
}
/**
* @param MessageAddress $address
*/
public function addBcc(MessageAddress $address): void
{
array_push($this->bcc, $address);
}
/**
* @return string|null
*/
public function getThreadId(): ?string
{
return $this->threadId;
}
/**
* @param string|null $threadId
*/
public function setThreadId(?string $threadId): void
{
$this->threadId = $threadId;
}
/**
* @return array
*/
public function getHeaders(): array
{
return $this->headers;
}
/**
* @param array $headers
*/
public function setHeaders(array $headers): void
{
$this->headers = $headers;
}
/**
* @return string|null
*/
public function getAction(): ?string
{
return $this->action;
}
/**
* @param string|null $action
*/
public function setAction(?string $action): void
{
$this->action = $action;
}
/**
* @return bool|null
*/
public function getUnseen(): ?bool
{
return $this->unseen;
}
/**
* @param bool|null $unseen
*/
public function setUnseen(?bool $unseen): void
{
$this->unseen = $unseen;
}
}