I haven’t personally tried it, but according to this, you only need:
subject = subject.Replace('\r', ' ').Replace('\n', ' ');
or something equivalent.
Internally, the MailMessage class will check the subject with:
if (value != null && MailBnfHelper.HasCROrLF(value))
{
throw new ArgumentException(SR.GetString(SR.MailSubjectInvalidFormat));
}
So the only limitation (for now) happens to be the presence of CR or LF.