Extract remaining email sending

This provides symmetry with Introduction and FeedbackRequest and keeps
token generation out of the main activity flow.
Move all email sending into jobs