I concur that the main element of your solution is as noted above:
- On each invocation, unconditionally append to a file all the stuff you will want to send on the next E-Mail update.
- At the end of each invocation, determine if E-Mail needs to be sent (timer expired, special event, Mayan Calendar turns a new
page stone, etc.).
- Empty out the E-mail holder file upon sending