Using django-anymail we could have emails automatically tagged with metadata (user id, submission id etc) and (later) provide feedback on email delivery, link clicking etc.
Suggestion: keep using Django's builtin EmailMessage but set anymail properties on it to discriminate submissions, newsletters and (potentially) users.