gpt4 book ai didi

c# - ASP.NET MailMessage.BodyEncoding 和 MailMessage.SubjectEncoding 默认值

转载 作者:行者123 更新时间:2023-11-30 20:10:16 24 4
gpt4 key购买 nike

简单的问题,但我无法在 MSDN 上的任何地方找到答案...

寻找默认的 ASP.NET 将用于:

MailMessage.BodyEncodingMailMessage.SubjectEncoding

如果你不在代码中设置它们呢?

谢谢

最佳答案

对于 MailMessage.BodyEncoding MSDN 说:

The value specified for the BodyEncoding property sets the character set field in the Content-Type header. The default character set is "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.IsAscii 是一个内部方法,它试图确定传递的值是否为 ASCII 编码:

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

关于c# - ASP.NET MailMessage.BodyEncoding 和 MailMessage.SubjectEncoding 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5307923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com