|
5 | 5 | use Illuminate\Support\Facades\Log; |
6 | 6 | use Illuminate\Support\Facades\Mail; |
7 | 7 | use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport; |
8 | | -use Symfony\Component\Mailer\Transport\Smtp\Stream\SocketStream; |
9 | 8 | use Tests\TestCase; |
10 | 9 |
|
11 | 10 | /** |
@@ -125,41 +124,40 @@ public function test_mail_disable_ssl_verification_alters_mailer() |
125 | 124 |
|
126 | 125 | public function test_non_null_mail_encryption_options_enforce_smtp_scheme() |
127 | 126 | { |
128 | | - $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'tls', 'mail.mailers.smtp.scheme', 'smtps'); |
129 | | - $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'ssl', 'mail.mailers.smtp.scheme', 'smtps'); |
130 | | - $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'null', 'mail.mailers.smtp.scheme', null); |
| 127 | + $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'tls', 'mail.mailers.smtp.tls_required', true); |
| 128 | + $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'ssl', 'mail.mailers.smtp.tls_required', true); |
| 129 | + $this->checkEnvConfigResult('MAIL_ENCRYPTION', 'null', 'mail.mailers.smtp.tls_required', false); |
131 | 130 | } |
132 | 131 |
|
133 | 132 | public function test_smtp_scheme_and_certain_port_forces_tls_usage() |
134 | 133 | { |
135 | | - $isMailTlsForcedEnabled = function () { |
| 134 | + $isMailTlsRequired = function () { |
| 135 | + /** @var \BookStack\App\Mail\EsmtpTransport $transport */ |
136 | 136 | $transport = Mail::mailer('smtp')->getSymfonyTransport(); |
137 | | - /** @var SocketStream $stream */ |
138 | | - $stream = $transport->getStream(); |
139 | 137 | Mail::purge('smtp'); |
140 | | - return $stream->isTLS(); |
| 138 | + return $transport->getTlsRequirement(); |
141 | 139 | }; |
142 | 140 |
|
143 | 141 | config()->set([ |
144 | | - 'mail.mailers.smtp.scheme' => null, |
| 142 | + 'mail.mailers.smtp.tls_required' => null, |
145 | 143 | 'mail.mailers.smtp.port' => 587, |
146 | 144 | ]); |
147 | 145 |
|
148 | | - $this->assertFalse($isMailTlsForcedEnabled()); |
| 146 | + $this->assertFalse($isMailTlsRequired()); |
149 | 147 |
|
150 | 148 | config()->set([ |
151 | | - 'mail.mailers.smtp.scheme' => 'smtps', |
| 149 | + 'mail.mailers.smtp.tls_required' => 'tls', |
152 | 150 | 'mail.mailers.smtp.port' => 587, |
153 | 151 | ]); |
154 | 152 |
|
155 | | - $this->assertTrue($isMailTlsForcedEnabled()); |
| 153 | + $this->assertTrue($isMailTlsRequired()); |
156 | 154 |
|
157 | 155 | config()->set([ |
158 | | - 'mail.mailers.smtp.scheme' => '', |
| 156 | + 'mail.mailers.smtp.tls_required' => null, |
159 | 157 | 'mail.mailers.smtp.port' => 465, |
160 | 158 | ]); |
161 | 159 |
|
162 | | - $this->assertTrue($isMailTlsForcedEnabled()); |
| 160 | + $this->assertTrue($isMailTlsRequired()); |
163 | 161 | } |
164 | 162 |
|
165 | 163 | /** |
|
0 commit comments