Support managed SMTP and verified website company senders - #110
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CM's contact form cannot send because the runtime does not consume managed SMTP settings and its website company has no sender address. The startup wrapper now maps explicitly supplied mail settings into Odoo's private runtime config, and website bootstrap applies and verifies an optional company sender. Omitted settings retain current behavior; credentials stay out of command arguments and logs.
Sanitized restores archive copied outgoing servers, clear their SMTP usernames/passwords, and insert an active dummy server to prevent copied customer mail reaching the config fallback. Fresh empty bootstrap retains access to the operator's explicit SMTP configuration. The regression runs the real bootstrap path followed by repeated restore-style sanitization against a SQL fixture.
Validation: 266 tests pass (one existing skip), changed-file Ruff checks pass, and all five hosted checks pass at 3bf919c. Anthropic claude-opus-5-5[1m] reviews identified the restore fallback and fresh-bootstrap regressions; both are fixed, and final review found no remaining defect. Its explicit-archived-server concern was refuted against pinned Odoo 19: _check_forced_mail_server rejects the server before SMTP connection, also exercised with the actual pinned method. The README was narrowed to the exact credential columns cleared.
Inspection now produces current RED evidence after assigning the task worktree's existing interpreter to its root module. The complete six-file assessment returned 174 findings with verified lifecycle cleanup. Fixed the six dataclass/type findings by giving the startup-settings fixture its actual type; all 19 startup tests and a fresh file inspection passed that correction. Remaining findings are existing code/style diagnostics or missing SQL/runtime dependency metadata and dynamic test fixtures. The new mail SQL is exercised by the bootstrap/restore behavior test; the all-row update intentionally neutralizes every copied outgoing server. The new dynamic company/email and patched-method fixture references work in the passing behavioral tests. No suppression or profile change was made. The result is triaged RED, not GREEN. Incidental IDE metadata was reviewed, preserved outside git, and reversed. Reproducible automatic project preparation remains tracked in #111; it no longer blocks this revision's inspection evidence.
The matching producer and runtime-proof gate are in cbusillo/launchplane#2487. No hosted mail configuration or email has been applied/sent by this PR.
Refs cbusillo/launchplane#2485