Я знаю, что это немного поздно, но для того, чтобы быть ясным:
Строка действительно не имеет кодировки ... в .NET строка представляет собой набор объектов char. По сути, если это строка, она уже была расшифрована.
Однако, если вы читаете содержимое файла, которое состоит из байтов, и хотите преобразовать его в строку, тогда файл кодирование должно быть использовано.
.NET включает классы кодирования и декодирования для: ASCII, UTF7, UTF8, UTF32 и др.
Большинство этих кодировок содержат определенные байтовые байты, которые могут используется для распознавания того, какой тип кодирования был использован.
Класс .NET System.IO.StreamReader способен определять кодировку, используемую в потоке, путем считывания этих байтов байтов;
Вот пример:
/// <summary>
/// return the detected encoding and the contents of the file.
/// </summary>
/// <param name="fileName"></param>
/// <param name="contents"></param>
/// <returns></returns>
public static Encoding DetectEncoding(String fileName, out String contents)
{
// open the file with the stream-reader:
using (StreamReader reader = new StreamReader(fileName, true))
{
// read the contents of the file into a string
contents = reader.ReadToEnd();
// return the encoding.
return reader.CurrentEncoding;
}
}
Обычно это происходит при попытке входа в систему из другого часового пояса или компьютера с IP-адресом. Ваш рабочий сервер и используемый вами почтовый идентификатор находятся в разных часовых поясах. Выберите одно из решений:
1) Войдите на рабочий сервер через удаленный доступ и войдите в gmail, указав свои учетные данные. Они попросят подтверждение, подтвердят его и выйдут.
Или 2) войдите в gmail на локальный компьютер, перейдите по этой ссылке , выберите , просмотрите это действие и выполните соответствующие действия.
Я нашел это по этой ссылке. Ошибка Gmail: SMTP-серверу требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.5.1 Требуется аутентификация