Overview

Namespaces

  • Avisota
    • Event
    • Message
    • Queue
    • Recipient
    • RecipientSource
    • Renderer
    • Templating
    • Test
      • Database
      • Imap
      • Message
      • Queue
      • Renderer
      • Transport
    • Transport

Classes

  • ImapConnectionProvider
  • ImapMailboxChecker

Interfaces

  • ImapConnectionProviderInterface
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
 1: <?php
 2: 
 3: /**
 4:  * Avisota newsletter and mailing system
 5:  *
 6:  * PHP Version 5.3
 7:  *
 8:  * @copyright  bit3 UG 2013
 9:  * @author     Tristan Lins <tristan.lins@bit3.de>
10:  * @package    avisota-core
11:  * @license    LGPL-3.0+
12:  * @link       http://avisota.org
13:  */
14: 
15: namespace Avisota\Test\Imap;
16: 
17: class ImapConnectionProvider implements ImapConnectionProviderInterface
18: {
19:     /**
20:      * @return ressource
21:      */
22:     public function createImapConnection()
23:     {
24:         if (function_exists('imap_open')) {
25:             $host       = array_key_exists('AVISOTA_TEST_IMAP_HOST', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_HOST'] : getenv('AVISOTA_TEST_IMAP_HOST');
26:             $port       = array_key_exists('AVISOTA_TEST_IMAP_PORT', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_PORT'] : getenv('AVISOTA_TEST_IMAP_PORT');
27:             $protocol   = array_key_exists('AVISOTA_TEST_IMAP_PROTOCOL', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_PROTOCOL'] : getenv('AVISOTA_TEST_IMAP_PROTOCOL');
28:             $username   = array_key_exists('AVISOTA_TEST_IMAP_USERNAME', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_USERNAME'] : getenv('AVISOTA_TEST_IMAP_USERNAME');
29:             $password   = array_key_exists('AVISOTA_TEST_IMAP_PASSWORD', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_PASSWORD'] : getenv('AVISOTA_TEST_IMAP_PASSWORD');
30:             $encryption = array_key_exists('AVISOTA_TEST_IMAP_ENCRYPTION', $_ENV) ? $_ENV['AVISOTA_TEST_IMAP_ENCRYPTION'] : getenv('AVISOTA_TEST_IMAP_ENCRYPTION');
31: 
32:             if ($host && $username && $password) {
33:                 return imap_open(
34:                     '{' . $host . ($port ? ':' . $port : '') . '/' . ($protocol ? $protocol : 'imap') . ($encryption
35:                         ? '/' . $encryption . '/novalidate-cert' : '') . '}',
36:                     $username,
37:                     $password
38:                 );
39:             }
40:         }
41: 
42:         return false;
43:     }
44: }
avisota/core API documentation generated by ApiGen 2.8.0