FIX: Drop malformed CC addresses in GroupSmtpEmail job (PR #14934)

Sometimes, a user may have a malformed email such as test@test.com<mailto:test@test.com their email address, and as a topic participant will be included as a CC email when sending a GroupSmtpEmail. This causes the CC parsing to fail and further down the line in Email::Sender the code to check the CC addresses expects an array but gets a string instead because of the parse failure.

Instead, we can just check if the CC addresses are valid and drop them if they are not in the GroupSmtpEmail job.

GitHub

This is the main change, I just moved around some other code while I was at it, no actual material effect will be made by moving that code.