簡単な質問ですが、MSDNのどこにも答えが見つかりません...
ASP.NETが使用するデフォルトを探す:
MailMessage.BodyEncodingとMailMessage.SubjectEncoding
コードで設定しない場合は?
ありがとう
簡単な質問ですが、MSDNのどこにも答えが見つかりません...
ASP.NETが使用するデフォルトを探す:
MailMessage.BodyEncodingとMailMessage.SubjectEncoding
コードで設定しない場合は?
ありがとう
MailMessage.BodyEncodingMSDNの場合:
プロパティに指定された値
BodyEncodingは、Content-Type ヘッダーの文字セット フィールドを設定します。デフォルトの文字セットは"us-ascii".
MailMessage.SubjectEncoding文書化されたデフォルト値も見つけることができませんでしたが、リフレクターが救助します:
internal void set_Subject(string value)
{
    if ((value != null) && MailBnfHelper.HasCROrLF(value))
    {
        throw new ArgumentException(SR.GetString("MailSubjectInvalidFormat"));
    }
    this.subject = value;
    if (((this.subject != null) && (this.subjectEncoding == null)) && 
         !MimeBasePart.IsAscii(this.subject, false))
    {
        this.subjectEncoding = Encoding.GetEncoding("utf-8");
    }
}
MimeBasePart.IsAsciiASCII渡された値がエンコードされているかどうかを判断しようとする内部メソッドです。
internal static bool IsAscii(string value, bool permitCROrLF)
{
    if (value == null)
    {
        throw new ArgumentNullException("value");
    }
    foreach (char ch in value)
    {
        if (ch > '\x007f')
        {
            return false;
        }
        if (!permitCROrLF && ((ch == '\r') || (ch == '\n')))
        {
            return false;
        }
    }
    return true;
}
したがって、件名のデフォルトのエンコーディングUTF-8はほとんどの場合になるようです。