Exemplo n.º 1
0
 function getMessages()
 {
     $pop = $this->connect();
     $toDelete = [];
     foreach ($pop as $i => $source) {
         $message = new Message($i, function () use($i, &$toDelete) {
             $toDelete[] = $i;
         });
         $from = $source->from ?: $source->{'return-path'};
         $message->setMessageId(str_replace(['<', '>'], '', $source->{'message-id'}));
         $message->setRawFrom($from);
         $message->setSubject($source->subject);
         $message->setRecipient($source->to);
         $message->setHtmlBody($this->getBody($source, 'text/html'));
         $message->setBody($this->getBody($source, 'text/plain'));
         $this->handleAttachments($message, $source);
         (yield $message);
     }
     // Due to an issue in Zend_Mail_Storage, deletion must be done in reverse order
     $toDelete = array_reverse($toDelete);
     foreach ($toDelete as $i) {
         $pop->removeMessage($i);
     }
     $pop->close();
 }
Exemplo n.º 2
0
 function createAction(Account $account, Message $message)
 {
     $subject = $message->getSubject();
     foreach ($this->config as $prefix => $factory) {
         if (empty($prefix) || strpos($subject, $prefix) === 0) {
             $subject = trim(substr($subject, strlen($prefix)));
             $message->setSubject($subject);
             return $factory->createAction($account, $message);
         }
     }
     throw new MailInException(tr("Unable to find suitable action."));
 }