Простой вопрос, но я не могу найти ответ нигде в MSDN...
Поиск значений по умолчанию, которые ASP.NET будет использовать для:
MailMessage.BodyEncoding
и MailMessage.SubjectEncoding
Если вы не установите их в коде?
Спасибо
Простой вопрос, но я не могу найти ответ нигде в MSDN...
Поиск значений по умолчанию, которые ASP.NET будет использовать для:
MailMessage.BodyEncoding
и MailMessage.SubjectEncoding
Если вы не установите их в коде?
Спасибо
Для MailMessage.BodyEncoding
MSDN говорит:
Значение, указанное для свойства
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.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
.