CluPilotCloud/app/Mail
nexxo ebe29f8a5d Stop demanding a cipher, a real port, or a decrypted password a mailbox never uses
MailboxTester required a usable SECRETS_KEY unconditionally, refusing an
unauthenticated relay's test-send on a fresh install with no key yet, even
though real sending never touches the cipher for that mailbox. Gated the
check on authenticates, same as the password-presence check beside it.

Comparison pass across MailboxTester and MailboxTransport turned up two more
of the same shape. MailboxTransport's delegate-cache fingerprint decrypted
$box->password unconditionally, even when unauthenticated and never going to
use it — a mailbox that once authenticated, stored a password, and later had
authenticates unchecked would crash real sending the moment SECRETS_KEY
became unusable. And MailboxTester had no guard against a stored port <1;
Symfony silently reinterprets that as port 25 rather than refusing it, so the
test button could reach whatever happens to listen there and report success
for a configuration MailboxTransport refuses outright.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 06:21:28 +02:00
..
Concerns Pin CloudReady's null-mailbox guard and share it with the trait 2026-07-27 23:59:05 +02:00
Transport Stop demanding a cipher, a real port, or a decrypted password a mailbox never uses 2026-07-28 06:21:28 +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