Send emails to the website’s owner.
Load the outbox module.
Send emails to the website’s owner by adding them to the transaction’s outbox.
Transactions can start child transactions. When a child transaction finishes successfully, the emails in its outbox are appended the outbox of its parent transaction. When a child transaction fails, the emails in its outbox are dropped.
Each application has full control over its outbox. This greatly simplifies testing.
Child transactions are always started with an empty outbox. Thus, a child transaction can not access emails added to its parent transaction’s outbox.
Add an email to the outbox.
Count emails in the outbox.
Prevent sending email.