1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
14:
15: namespace Avisota\Test\Imap;
16:
17: class ImapConnectionProvider implements ImapConnectionProviderInterface
18: {
19: 20: 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: }