<?php
namespace App\Entity;
use App\Repository\EmailLogRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=EmailLogRepository::class)
*/
class EmailLog
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $emailId;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $subject;
/**
* @ORM\Column(type="array", nullable=true)
*/
private $fromEmails = [];
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $result;
/**
* @ORM\Column(type="array", nullable=true)
*/
private $toEmails = [];
/**
* @ORM\Column(type="array", nullable=true)
*/
private $ccEmails = [];
/**
* @ORM\Column(type="array", nullable=true)
*/
private $bccEmails = [];
/**
* @ORM\Column(type="text", nullable=true)
*/
private $body;
/**
* @ORM\Column(type="datetime")
*/
private $createts;
public function __construct( \Swift_Events_SendEvent $evt)
{
$this->createts = new \DateTime();
$message = $evt->getMessage();
$this->setBccEmails($message->getBcc());
$this->setBody($message->getBody());
$this->setCcEmails($message->getCc());
$this->setToEmails($message->getTo());
$this->setResult($evt->getResult());
$this->setSubject($message->getSubject());
$this->setEmailId($message->getId());
$this->setFromEmails($message->getFrom());
}
public function getId(): ?int
{
return $this->id;
}
/**
* Get EmailId
*
* @return mixed
*/
public function getEmailId()
{
return $this->emailId;
}
/**
* Set EmailId
*
* @param mixed $emailId
*/
public function setEmailId( $emailId )
{
$this->emailId = $emailId;
}
public function getSubject(): ?string
{
return $this->subject;
}
public function setSubject(?string $subject): self
{
$this->subject = $subject;
return $this;
}
public function getResult(): ?int
{
return $this->result;
}
public function setResult(?int $result): self
{
$this->result = $result;
return $this;
}
public function getToEmails(): ?array
{
return $this->toEmails;
}
public function setToEmails(?array $toEmails): self
{
$this->toEmails = $toEmails;
return $this;
}
public function getCcEmails(): ?array
{
return $this->ccEmails;
}
public function setCcEmails(?array $ccEmails): self
{
$this->ccEmails = $ccEmails;
return $this;
}
public function getBccEmails(): ?array
{
return $this->bccEmails;
}
public function setBccEmails(?array $bccEmails): self
{
$this->bccEmails = $bccEmails;
return $this;
}
public function getBody(): ?string
{
return $this->body;
}
public function setBody(?string $body): self
{
$this->body = $body;
return $this;
}
public function getCreatets(): ?\DateTimeInterface
{
return $this->createts;
}
public function setCreatets(\DateTimeInterface $createts): self
{
$this->createts = $createts;
return $this;
}
/**
* Get FromEmails
*
* @return mixed
*/
public function getFromEmails()
{
return $this->fromEmails;
}
/**
* Set FromEmails
*
* @param mixed $fromEmails
*/
public function setFromEmails( $fromEmails )
{
$this->fromEmails = $fromEmails;
}
}