Expand description
What the two mail phases share: the template lookup, and the accounting of what one iteration queued and skipped.
Structs§
- Mail
Queue 🔒Summary - What one mail iteration claimed and could not queue. A mail with no template is skipped rather than failing the iteration: the batch is one transaction, so an error would roll back every mail that could be queued, and the claimed rows stay claimable.
- Template
Cache 🔒 - One template lookup per type and language per iteration rather than per mail.
Nonemeans no template exists, which a mail phase reports rather than failing the batch it was found in.
Functions§
- template_
language 🔒 - Templates are stored per language and courses carry a locale. The course’s language, not the recipient’s: the linking mail’s recipient may have no account here, and an account records no UI language to prefer.