Korzystając z biblioteki imapx + informacje załączone na stronie udało mi się logować na skrzynkę i pobierać wiadomości, jednak pojawił się problem z kodowaniem, zamiast polskich znaków miałem znaki typu "=?" i inne. Skorzystałem więc z ich pomocy na stronie głównej projektu i wkleiłem to do programu (co wg ich powinno działać)
foreach (ImapX.Message m in client.Folders["INBOX"].Messages)
{
m.Process();
//preparing subject to be sent
string codedSubject = "=?UTF-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(m.Subject.ToString())) + "?=";
//decoding subject from received message
string decodedSubject = Encoding.UTF8.GetString(Convert.FromBase64String(codedSubject.Split('?')[4]));
//decoding body from Base64/UTF8 :
string decodedBody = Encoding.UTF8.GetString(Convert.FromBase64String(m.HtmlBody.TextData));
listaMaili.Add(new odczyt(m.From.ElementAt(0).Address, m.To.ElementAt(0).Address, m.Subject.ElementAt(0).ToString(), m.TextBody.TextData, m.Date.ToString()));
}
Jednak przy próbie dekodowania w tej lini :
string decodedSubject = Encoding.UTF8.GetString(Convert.FromBase64String(codedSubject.Split('?')[4]));
Program wysypuje się z błędem: "Invalid length for a Base-64 char array."
Pozdrawiam.