1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
14:
15: namespace Avisota\Test\Transport;
16:
17: use Avisota\Test\Renderer\TestMessageRenderer;
18: use Avisota\Transport\SmtpTransport;
19:
20: class SmtpTransportProvider implements TransportProviderInterface
21: {
22: 23: 24:
25: public function createTransport()
26: {
27: $host = array_key_exists('AVISOTA_TEST_SMTP_HOST', $_ENV)
28: ? $_ENV['AVISOTA_TEST_SMTP_HOST']
29: : getenv('AVISOTA_TEST_SMTP_HOST');
30: $port = array_key_exists('AVISOTA_TEST_SMTP_PORT', $_ENV)
31: ? $_ENV['AVISOTA_TEST_SMTP_PORT']
32: : getenv('AVISOTA_TEST_SMTP_PORT');
33: $username = array_key_exists('AVISOTA_TEST_SMTP_USERNAME', $_ENV)
34: ? $_ENV['AVISOTA_TEST_SMTP_USERNAME']
35: : getenv('AVISOTA_TEST_SMTP_USERNAME');
36: $password = array_key_exists('AVISOTA_TEST_SMTP_PASSWORD', $_ENV)
37: ? $_ENV['AVISOTA_TEST_SMTP_PASSWORD']
38: : getenv('AVISOTA_TEST_SMTP_PASSWORD');
39: $encryption = array_key_exists('AVISOTA_TEST_SMTP_ENCRYPTION', $_ENV)
40: ? $_ENV['AVISOTA_TEST_SMTP_ENCRYPTION']
41: : getenv('AVISOTA_TEST_SMTP_ENCRYPTION');
42:
43: if ($host && $username && $password) {
44: return new SmtpTransport(
45: $host,
46: $port,
47: $username,
48: $password,
49: $encryption,
50: new TestMessageRenderer()
51: );
52: }
53:
54: return false;
55: }
56: }