/**
  * test reply mail and check some headers
  * 
  * @see 0006106: Add References header / https://forge.tine20.org/mantisbt/view.php?id=6106
  */
 public function testReplyMessage()
 {
     $message = $this->_sendMessage();
     $replyMessage = $this->_getReply($message);
     $returned = $this->_json->saveMessage($replyMessage);
     $result = $this->_getMessages();
     $replyMessageFound = array();
     $originalMessage = array();
     foreach ($result['results'] as $mail) {
         if ($mail['subject'] == $replyMessage['subject']) {
             $replyMessageFound = $mail;
         }
         if ($mail['subject'] == $message['subject']) {
             $originalMessage = $mail;
         }
     }
     $replyMessageFound = $this->_json->getMessage($replyMessageFound['id']);
     $originalMessage = $this->_json->getMessage($originalMessage['id']);
     $this->assertTrue(!empty($replyMessageFound), 'replied message not found');
     $this->assertTrue(!empty($originalMessage), 'original message not found');
     // check headers
     $this->assertTrue(isset($replyMessageFound['headers']['in-reply-to']));
     $this->assertEquals($originalMessage['headers']['message-id'], $replyMessageFound['headers']['in-reply-to']);
     $this->assertTrue(isset($replyMessageFound['headers']['references']));
     $this->assertEquals($originalMessage['headers']['message-id'], $replyMessageFound['headers']['references']);
     // check answered flag
     $this->assertTrue(in_array(Zend_Mail_Storage::FLAG_ANSWERED, $originalMessage['flags'], 'could not find flag'));
 }
 /**
  * testMessageWithInvalidICS
  *
  * @see 0008786: broken ics causes js error when showing details
  */
 public function testMessageWithInvalidICS()
 {
     $inbox = $this->_getFolder('INBOX');
     $mailAsString = file_get_contents(dirname(__FILE__) . '/../files/invalidimip.eml');
     Felamimail_Controller_Message::getInstance()->appendMessage($inbox, $mailAsString);
     $this->_foldersToClear = array('INBOX');
     $message = $this->_searchForMessageBySubject('test invalid imip');
     $fullMessage = $this->_json->getMessage($message['id']);
     $this->assertTrue(empty($fullMessage->preparedParts));
 }
    /**
     * testSendMailveopeAPIMessage
     *
     * - envolpe amored message into PGP MIME structure
     */
    public function testSendMailveopeAPIMessage()
    {
        $subject = 'testSendMailveopeAPIMessage';
        $messageData = $this->_getMessageData('', $subject);
        $messageData['body'] = '-----BEGIN PGP MESSAGE-----
Version: Mailvelope v1.3.3
Comment: https://www.mailvelope.com

wcFMA/0LJF28pDbGAQ//YgtsmEZN+pgIJiBDb7iYwPEOchDRIEjGOx543KF6
5YigW9p39pfcJgvGfT8x9cUIrYGxyw5idPSOEftYXyjjGaOYGaKpRSR4hI83
OcJSlEHKq72xhg04mNpCjjJ8dLBstPcQ7tDtsA8Nfb4PwkUYB9IhIBnARg+n
NvrN8mSA2UnY9ElFCvf30sar8EuM5swAjbk64C8TIypMy/Bg4T93zRdxwik6
7BCcbOpm/2PTsiVYBOTcU4+XdG5eyTENXH58M6UTxTD4/g7Qi5PjN+PxyXqf
v2Y1k9F49Y1egf2QJ2r4PX0EWS8SaynSHiIoBsp1xb07nLwZwCdMPG1QNPpF
l2FqlS4dEuQTdkv0deMvd7gtiNynRTAVcJc1ZC6RuWJ+EH2jA49XWkn14eRC
e5jMtPPudkhubnN9Je5lwatGKbJGyuXh+IaM0E0WQMZ3dm8+ST1l4WpVuGbw
KozLUiTRJP9UoxWOcwpQOnzcSlc4rHmWdtF0y3usM9u9GPREqpNUWkEyEEuv
XdZE7rKKj22dJHLCXxAQEh3m29Y2WVaq50YbtEZ+SwwbrHhxP4+FJEru+byh
fiZ47sVW2KvYGJPvbFoSZHiSvMecxDg8BVwe+naZXww/Rwa/TlaX4bYyzpUG
KeJUAzWEfFpJ0+yAvMGQEC7psIJ9NCx149C4ujiQmajSwhUB3XANcmCGB0wm
JjcqC4AHvc7/t4MrQZm0F/W+nrMmNqbZk+gylVrPs9rFEqu7wbjwTmsFA3sS
LkenvQIxBali6uzCR+nd09REqcYirG9cLti39DW048lhhG/ml+gAxxNEaSpG
NbIoV/3w8n7sAIM1fjuHne8bX0gWG43TTjU8MwSMryG7tCOG5u+Cebh6TAoY
NzbX2dpDhOYq5zXdCgKU4P3eh0csSs4UrqFT3TdAxIGrQJ7KrXvB6+N8gRZo
FcUaR+zrRPJjPUZfi46ecP5SG/tM5ea1hqvkwEnEpqjLmCUxqB+rfxx46USX
hMZd2ukUv6kEKv3EUDsRYu1SlDLhDLhWNx8RJae5XkMR+eUUMyNNVwbeMQbB
VAcMcaPITTk84sH7XElr9eF6sCUN4V79OSBRPGY/aNGrcwcoDSD4Hwu+Lw9w
Q+1n8EQ66gAkbJzCNd5GaYMZR9echkBaD/rdWDS3ktcrMehra+h44MTQONV9
8W+RI+IT5jaIXtB4jePmGjsJjbC9aEhTRBRkUnPA7phgknc52dD74AY/6lzK
yd4uZ6S3vhurJW0Vt4iBWJzhFNiSODh5PzteeNzCVAkGMsQvy1IHk0d3uzcE
0tEuSh8fZOFGB4fvMx9Mk8oAU92wfj4J7AVpSo5oRdxMqAXfaYKqfr2Gn++q
E5LClhVIBbFXclCoe0RYNz4wtxjeeYbP40Bq5g0JvPutD/dBMp8hz8Qt+yyG
d8X4/KmQIXyFZ8aP17GMckE5GVVvY9y89eWnWuTUJdwM540hB/EJNeHHTE5y
N2FSLGcmNkvE+3H7BczQ2ZI1SZDhof+umbUst0qoQW+hHmY3CSma48yGAVox
52u2t7hosHCfpf631Ve/6fcICo8vJ2Qfufu2BGIMlSfx4WzUuaMQBynuxFSa
IbVx8ZTO7dJRKrg72aFmWTf0uNla7vicAhpiLWobyNYcZbIjrAGDfg==
=BaAn
-----END PGP MESSAGE-----';
        $this->_foldersToClear[] = 'INBOX';
        $this->_json->saveMessage($messageData);
        $message = $this->_searchForMessageBySubject(Tinebase_Core::filterInputForDatabase($subject));
        $fullMessage = $this->_json->getMessage($message['id']);
        $this->assertContains('multipart/encrypted', $fullMessage['headers']['content-type']);
        $this->assertContains('protocol="application/pgp-encrypted"', $fullMessage['headers']['content-type']);
        $this->assertCount(2, $fullMessage['structure']['parts']);
        $this->assertEquals('application/pgp-encrypted', $fullMessage['structure']['parts'][1]['contentType']);
        $this->assertEquals('application/octet-stream', $fullMessage['structure']['parts'][2]['contentType']);
        return $fullMessage;
    }
예제 #4
0
 /**
  * forward message test
  */
 public function testForwardMessageWithAttachment()
 {
     $testFolder = $this->_getFolder($this->_testFolderName);
     $message = fopen(dirname(__FILE__) . '/files/multipart_related.eml', 'r');
     Felamimail_Controller_Message::getInstance()->appendMessage($testFolder, $message);
     $subject = 'Tine 2.0 bei Metaways - Verbessurngsvorschlag';
     $message = $this->_searchForMessageBySubject($subject, $this->_testFolderName);
     $fwdSubject = 'Fwd: ' . $subject;
     $forwardMessageData = array('account_id' => $this->_account->getId(), 'subject' => $fwdSubject, 'to' => array('unittest@' . $this->_mailDomain), 'body' => "aaaaaä <br>", 'headers' => array('X-Tine20TestMessage' => 'jsontest'), 'original_id' => $message['id'], 'attachments' => array(new Tinebase_Model_TempFile(array('type' => Felamimail_Model_Message::CONTENT_TYPE_MESSAGE_RFC822, 'name' => $subject), TRUE)), 'flags' => Zend_Mail_Storage::FLAG_PASSED);
     $this->_foldersToClear[] = 'INBOX';
     $this->_json->saveMessage($forwardMessageData);
     $forwardMessage = $this->_searchForMessageBySubject($fwdSubject);
     $this->assertEquals(Felamimail_Model_Message::CONTENT_TYPE_MESSAGE_RFC822, $forwardMessage['structure']['parts'][2]['contentType']);
     // check forwarded/passed flag
     $message = $this->_json->getMessage($message['id']);
     $this->assertTrue(in_array(Zend_Mail_Storage::FLAG_PASSED, $message['flags']));
 }
 /**
  * testDisabledExternalImip
  */
 public function testDisabledExternalImip()
 {
     Calendar_Config::getInstance()->set(Calendar_Config::DISABLE_EXTERNAL_IMIP, true);
     $complete = $this->_addImipMessageToEmailCache();
     $fmailJson = new Felamimail_Frontend_Json();
     $jsonMessage = $fmailJson->getMessage($complete->getId());
     Calendar_Config::getInstance()->set(Calendar_Config::DISABLE_EXTERNAL_IMIP, false);
     $this->assertEmpty($jsonMessage['preparedParts']);
 }