Получения текста с email письма

147
08 августа 2019, 03:20

есть задача получить текст с тела письма, какими способами не пробую результат тот же, получаю html. работаю через Imap. код:

    public async static Task PrintImapOne()
    {
        List<MimeMessage> messages = await ImapFetchAllMessages(FasadUser.Hostname, FasadUser.Port = 143, FasadUser.SSL, FasadUser.Login, FasadUser.Password);
        messages.Reverse();
        Console.Write(messages.First());
    }
    public static async Task<List<MimeMessage>> ImapFetchAllMessages(String hostname, Int32 port, Boolean useSsl, String username, String password)
    {
        using (var client = new ImapClient())
        {
            client.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
            List<MimeMessage> allMessages = null;
            await client.ConnectAsync(hostname, port, useSsl);
            await client.AuthenticateAsync(username, password);
            if(client.IsConnected)
            {
                if (client.IsAuthenticated)
                {
                    var inbox = client.Inbox;
                    await inbox.OpenAsync(FolderAccess.ReadOnly);
                    allMessages = new List<MimeMessage>(inbox.Count);
                    foreach (var summary in client.Inbox.Fetch(0, -1, MessageSummaryItems.Full | MessageSummaryItems.UniqueId).ToList())
                    {
                        //inbox.GetBodyPart(summary.UniqueId, summary.HtmlBody).ToString();
                        var message = await inbox.GetMessageAsync(summary.UniqueId);
                        allMessages.Add(message);
                    }
                }
            }
            return allMessages;
        }
    }

попробовал тоже самое с Pop3, вообще пустую строку возвращает:

    async static Task PrintPop3One()
    {
        List<MimeMessage> messages = await Pop3FetchAllMessages(FasadUser.Hostname, FasadUser.Port = 110, FasadUser.SSL, FasadUser.Login, FasadUser.Password);
        messages.Reverse();
        Console.Write(messages.First().GetTextBody(TextFormat.Text));
    }
    public static async Task<List<MimeMessage>> Pop3FetchAllMessages(string hostname, int port, bool useSsl, string username, string password)
    {
        using (var client = new Pop3Client())
        {
            List<MimeMessage> allMessages = null;
            await client.ConnectAsync(hostname, port, useSsl);
            await client.AuthenticateAsync(username, password);
            if (client.IsConnected)
            {
                if (client.IsAuthenticated)
                {
                    var count = await client.GetMessageCountAsync();
                    allMessages = new List<MimeMessage>(count);
                    for (int i = 0; i < count; i++)
                    {
                        allMessages.Add(await client.GetMessageAsync(i));
                    }
                }
            }
            return allMessages;
        }
    }
READ ALSO
Проблема в дереве массива категорий и под категорий

Проблема в дереве массива категорий и под категорий

Проблема заключается в корректности составления массива категорий и под категорийСобственно сам код:

104
1С Битрикс. Отправка уведомления о прочтении письма

1С Битрикс. Отправка уведомления о прочтении письма

Пытаюсь реализовать отправку уведомления о прочтении писем получателемВ интернете насерфил такие хейдеры:

91
Error adding avatar to comments

Error adding avatar to comments

В чем может быть причина этой ошибкипри входе на сайт от другого пользователя в блоге рядом с комментариями все аватары изменяются идентично...

103