验证电子邮件的主题行

Nat*_*per 6 .net c# email

电子邮件主题中的某些字符无效并会导致失败,例如回车符。我接受主题行作为输入。

是否有关于有效电子邮件主题的明确描述?我查看了我认为正确的 RFC规范,但找不到任何内容。

是否有任何 .Net 库可以验证/清理电子邮件主题行?特别是核心库或MailKit中有什么东西吗?

Chr*_*les 5

只需确保没有换行符或回车符即可。就是这样System.Net.Mail

//This is from the MailBnfHelper class of the System.Net.Mime namespace.
internal static bool HasCROrLF(string data)
    {
      for (int index = 0; index < data.Length; ++index)
      {
        if (data[index] == '\r' || data[index] == '\n')
          return true;
      }
      return false;
    }
Run Code Online (Sandbox Code Playgroud)

  • 是的,它似乎确实https://github.com/microsoft/referencesource/blob/3b1eaf5203992df69de44c783a3eda37d3d4cd10/System/net/System/Net/mail/Message.cs。 (2认同)