private function processMessage()
	{
		if ($this->processed) {
			return;
		}
		$this->processed = TRUE;

		$files = glob($this->fileMailer->getTempDirectory() . DIRECTORY_SEPARATOR . '*.' . FileMailer::FILE_EXTENSION);
		foreach ($files as $path) {
			$cacheKey = basename($path);

			if ($this->removeExpired($path)) {
				$this->cache->remove($cacheKey);
				continue;
			}

			$message = $this->cache->load($cacheKey);
			if ($message === NULL) {
				$message = FileMailer::mailParser(file_get_contents($path), $cacheKey);
				$this->cache->save($cacheKey, $message);
			}

			$time = new DateTime;
			if ($message->date > $time->modify($this->newMessageTime)) {
				$this->countNew++;
			} else {
				$message->isOld = TRUE;
			}

			$this->countAll++;
			$this->messages[] = $message;
		}

		usort($this->messages, function ($a1, $a2) {
			return $a2->date->getTimestamp() - $a1->date->getTimestamp();
		});
	}