Чтение сообщений электронной почты через IMAPC#

Место общения программистов C#
Anonymous
Чтение сообщений электронной почты через IMAP

Сообщение Anonymous »

Я создал немного кода в C#, чтобы прочитать электронное письмо из папки на моем (локальном/NAS) сервере IMAP. Код не закончен, но в конце концов я хотел бы иметь список всех почтовых устройств.

Код: Выделить всё

Total messages: 93
MessageError 0: The IMAP server has unexpectedly disconnected.
Этот вопрос: «Сервер IMAP неожиданно отключил» с использованием порта 993 и Mailkit не решил проблему, потому что у меня также был доступ к доступу через порт 993, и теперь через порт 143 у меня все же есть такая же проблема. /> Любая помощь будет оценена, чтобы иметь возможность читать эти сообщения. < /p>
public static void CheckIMAP()
{
using (var client = new ImapClient())
{
//client.Connect(mailserver, 993, true);
//client.Connect(mailserver, 993, SecureSocketOptions.SslOnConnect);
client.Connect(mailserver, 143, SecureSocketOptions.None);

client.Authenticate(username, password);

IMailFolder folder = client.GetFolder("INBOX.subfolder");
var fo = folder.Open(FolderAccess.ReadOnly);
Console.WriteLine ("Total messages: {0}", folder.Count);
for (int i = 0; i < folder.Count; i++)
{
try
{
var message = folder.GetMessage(i);
Console.WriteLine("Message: {0}", message.Subject);
}
catch (Exception ex)
{
System.Console.WriteLine($"MessageError {i}: {ex.Message}");
break;
}
}
System.Console.WriteLine();

client.Disconnect(true);
}
}
< /code>
конечный результат этой программы должен быть почти (потому что дата сообщения также должна быть в результате, но сейчас это не вопрос) такой же, как эта команда Linux, работающая на моем NAS: < /p>
$ grep '^Subject:' ~/.Maildir/.INBOX.subfolder/cur/*
< /code>
версии: < /p>
mailkit: 4.10.0; Dotnet: 9.0.200
Разработка на Windows 11, когда закончено, он должен работать под Linux (на моем синологии Nas)

Подробнее здесь: https://stackoverflow.com/questions/794 ... s-via-imap

Вернуться в «C#»