Привет и добро пожаловать в Stack Overflow. Насколько я понимаю, вы используете библиотеку OpenPop. NET.
OpenPop. NET использует класс EncodingFinder для поиска правильной кодировки. По умолчанию он поддерживает только utf8 и ascii (по крайней мере, чтение кода библиотеки на github). Согласно этой странице: http://hpop.sourceforge.net/exampleChangeCharacterSetMapping.php вы можете добавить свою кодировку в EncodingFinder. В вашем случае все, что вам нужно сделать, это:
static void Main(string[] args)
{
EncodingFinder.AddMapping("ks_c_5601-1987", Encoding.GetEncoding(949));
// rest of the application
Обратите внимание, что это будет работать только на. NET Framework, а не на. NET Core, так как последний поддерживает действительно ограниченное количество кодировки (https://docs.microsoft.com/en-us/dotnet/api/system.text.encodinginfo.getencoding?view=netcore-3.1).
У меня нет корейского pop3 для тестирования этого решения, но я надеюсь, что оно будет работать. Удачи!
Редактировать после некоторого поиска Должна быть возможность работать с корейской кодировкой в. NET Кроме того, Core немного сложнее:
static void Main(string[] args)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
EncodingFinder.AddMapping("ks_c_5601-1987", Encoding.GetEncoding(949));
// rest of application
Попробуйте, если вы работаете с. NET Core.