CluPilotCloud/app/Mail
nexxo c55a5d2b49 Make ssl, tls, and none mean what they say on the wire
EsmtpTransport's autoTls (default true) and requireTls (default false)
are independent of the implicit-TLS constructor argument: 'tls' left
these at their defaults, so a server that omitted STARTTLS sent
mailbox credentials in the clear while reporting success, and 'none'
would silently upgrade the moment a server offered STARTTLS. Both
MailboxTransport and MailboxTester already duplicated the "ssl, or
port 465 ⇒ implicit" half of this decision independently; MailTlsPolicy
is now the one place both read, for both dimensions.

MailboxTester still builds through Mail::build() rather than a hand-built
transport: MailManager::createSmtpTransport() forwards the whole config
array to EsmtpTransportFactory as DSN options, which already reads
auto_tls/require_tls itself, so the same policy reaches this path
through keys the config array already supports.
2026-07-28 04:35:03 +02:00
..
Concerns Pin CloudReady's null-mailbox guard and share it with the trait 2026-07-27 23:59:05 +02:00
Transport Make ssl, tls, and none mean what they say on the wire 2026-07-28 04:35:03 +02:00
MaintenanceAnnouncementMail.php Put a real sender on every mail, and a reply address where one helps 2026-07-27 23:40:34 +02:00
MaintenanceCancelledMail.php Put a real sender on every mail, and a reply address where one helps 2026-07-27 23:40:34 +02:00