Example #1
0
 /**
  * Get email attachments
  *
  * @return EmailAttachment[]
  */
 public function getAttachments()
 {
     if ($this->attachments === null) {
         $this->attachments = array();
         foreach ($this->message->getAttachments() as $a) {
             $content = $a->getContent();
             $attachment = new EmailAttachment();
             $attachment->setFileName($a->getFileName()->getDecodedValue())->setContent($content->getContent())->setContentType($content->getContentType())->setContentTransferEncoding($content->getContentTransferEncoding());
             $this->attachments[] = $attachment;
         }
     }
     return $this->attachments;
 }
Example #2
0
 /**
  * Check exists flag
  *
  * @param string $flag
  *
  * @return bool
  */
 public function hasFlag($flag)
 {
     $flags = $this->message->getFlags();
     if (in_array($flag, $flags)) {
         return true;
     }
     return false;
 }
Example #3
0
 /**
  * Creates Email DTO for the given email message
  *
  * @param Message $msg
  *
  * @return Email
  */
 public function convertToEmail(Message $msg)
 {
     $headers = $msg->getHeaders();
     $email = new Email($msg);
     $email->setId(new ItemId(intval($headers->get('UID')->getFieldValue()), $this->connector->getUidValidity()))->setSubject($this->getString($headers, 'Subject'))->setFrom($this->getString($headers, 'From'))->setSentAt($this->getDateTime($headers, 'Date'))->setReceivedAt($this->getReceivedAt($headers))->setInternalDate($this->getDateTime($headers, 'InternalDate'))->setImportance($this->getImportance($headers))->setMessageId($this->getString($headers, 'Message-ID'))->setXMessageId($this->getString($headers, 'X-GM-MSG-ID'))->setXThreadId($this->getString($headers, 'X-GM-THR-ID'));
     foreach ($this->getRecipients($headers, 'To') as $val) {
         $email->addToRecipient($val);
     }
     foreach ($this->getRecipients($headers, 'Cc') as $val) {
         $email->addCcRecipient($val);
     }
     foreach ($this->getRecipients($headers, 'Bcc') as $val) {
         $email->addBccRecipient($val);
     }
     return $email;
 }
Example #4
0
 /**
  * Creates Email DTO for the given email message
  *
  * @param Message $msg
  *
  * @return Email
  *
  * @throws \RuntimeException if the given message cannot be converted to {@see Email} object
  */
 public function convertToEmail(Message $msg)
 {
     $headers = $msg->getHeaders();
     $email = new Email($msg);
     try {
         $email->setId(new ItemId(intval($headers->get('UID')->getFieldValue()), $this->connector->getUidValidity()))->setSubject($this->getString($headers, 'Subject'))->setFrom($this->getString($headers, 'From'))->setSentAt($this->getDateTime($headers, 'Date'))->setReceivedAt($this->getReceivedAt($headers))->setInternalDate($this->getDateTime($headers, 'InternalDate'))->setImportance($this->getImportance($headers))->setRefs($this->getReferences($headers, 'References'))->setXMessageId($this->getString($headers, 'X-GM-MSG-ID'))->setXThreadId($this->getString($headers, 'X-GM-THR-ID'))->setMessageId($this->getMessageId($headers, 'Message-ID'))->setMultiMessageId($this->getMultiMessageId($headers, 'Message-ID'))->setAcceptLanguageHeader($this->getAcceptLanguageHeader($headers));
         foreach ($this->getRecipients($headers, 'To') as $val) {
             $email->addToRecipient($val);
         }
         foreach ($this->getRecipients($headers, 'Cc') as $val) {
             $email->addCcRecipient($val);
         }
         foreach ($this->getRecipients($headers, 'Bcc') as $val) {
             $email->addBccRecipient($val);
         }
         return $email;
     } catch (\Exception $e) {
         throw new \RuntimeException(sprintf('Cannot parse email message. Subject: %s. Error: %s', $email->getSubject(), $e->getMessage()), 0, $e);
     }
 }