/**
  * @param UniqueOutboundMessage $uniqueMessage
  * @return array
  */
 protected function getRawHeaders(UniqueOutboundMessage $uniqueMessage)
 {
     $message = $uniqueMessage->getMessage();
     $headers = [];
     $headers['Message-ID'] = $uniqueMessage->getMessageId();
     if ($message->getReplyTo() !== null) {
         $headers['Reply-To'] = $message->getReplyTo();
     }
     if ($message->getReferences() !== null) {
         $headers['References'] = $message->getReferences();
     }
     if ($message->getInReplyTo() !== null) {
         $headers['In-Reply-To'] = $message->getInReplyTo();
     }
     $headers = array_merge($headers, $message->getCustomHeaders());
     return $headers;
 }
 /**
  * @param UniqueOutboundMessage $uniqueMessage
  * @param string $mailSystemName
  * @param DateTime|null $scheduledSendTime
  */
 public function __construct(UniqueOutboundMessage $uniqueMessage, $mailSystemName, DateTime $scheduledSendTime = null)
 {
     $message = $uniqueMessage->getMessage();
     $this->messageId = $uniqueMessage->getMessageId();
     $this->inReplyTo = $message->getInReplyTo();
     $this->references = $message->getReferences();
     $this->recipients = $message->getRecipients();
     $this->replyTo = $message->getReplyTo();
     $this->fromEmail = $message->getFromEmail();
     $this->fromName = $message->getFromName();
     $this->html = $message->getHtml();
     $this->text = $message->getText();
     $this->template = $message->getTemplate();
     $this->subject = $message->getSubject();
     $this->customHeaders = $message->getCustomHeaders();
     $this->mailSystem = $mailSystemName;
     $this->createdAt = new DateTime('now');
     $this->messagesStatus = new ArrayCollection();
     $this->scheduledSendTime = $scheduledSendTime;
     $this->responses = new ArrayCollection();
 }