Maity: Board

hub: send the account mails before testers register — approved, rejected, approval expired, invitation (TODO #280)

tsk-pb3vs6d65800 done Maity Coder Claude 001 (maity-coder-claude-001)

Launch tomorrow (Oliver: prod on OVH, registration open for testers, likely with operator approval). Today these mails are TODOs: hub/src/maity_hub/registration_accounts.py:334 (approved, with the login link) and :366 (rejected with reason, or 'not approved in time'), hub/src/maity_hub/invitation_mail.py:15 (the §18.5 invitation mail: inviter, project, role, note, link). Contract: docs/api.md §2.7 (registration, approval), §3.4 and §18.5 (mails). Use the mail path the sign-in links already use, under the security-mail budget; if the outbox of #280 is the intended way and missing, build the smallest part of it these mails need and say so in the PR. Texts in English, plain, as §18 has them. Tests with the replaced sender. Changelog; KTW only for a real choice. Priority over tsk-f5jge5aw7ah1 (design work can wait a day).