Heba Kamel Ответов: 1

Читать письма Gmail по протоколу IMAP


Привет,
Я хочу прочитать письма Gmail по протоколу IMAP
Я получил этот код из поиска
using (Imap imap = new Imap())
{
    imap.Connect("imap.gmail.com");   // or ConnectSSL 
    imap.UseBestLogin("********@gmail.com", "*******");
    imap.SelectInbox();
    List<long> uids = imap.Search(Flag.Unseen);
    List<MessageInfo> infos = imap.GetMessageInfoByUID(uids);
    foreach (MessageInfo info in infos)
    {
        MessageBox.Show("Subject: " + info.Envelope.Subject);
        MessageBox.Show("From: " + info.Envelope.From);
        MessageBox.Show("To: " + info.Envelope.To);
        foreach (MimeStructure attachment in info.BodyStructure.Attachments)
        {
            MessageBox.Show(attachment.SafeFileName);
        }
        break;
    }
    imap.Close();
}

но у меня есть это исключение в imap.Подключение ("imap.gmail.com");
An attempt was made to access a socket in a way forbidden by its access permissions 74.125.24.108:143

Я не понимаю, к чему я должен подключаться?

Kornfeld Eliyahu Peter

Проверьте порт 143...Вероятно, он заблокирован...

Kornfeld Eliyahu Peter

Вы можете использовать netstat (командная строка), чтобы проверить, удерживает ли кто-то этот порт для каких-либо целей...

Heba Kamel

Я решил ее с помощью
протокол IMAP.ConnectSSL("imap.gmail.com", 993);
скорее, чем
протокол IMAP.Подключение ("imap.gmail.com");

Kornfeld Eliyahu Peter

Это потому, что 993-это порт для безопасного соединения (с IMAP), и, вероятно, Google использует его, а не Порт 143 (незащищенный)...
https://support.google.com/mail/troubleshooter/1668960?hl=en#ts=1665018%2C1665144

1 Ответов

Рейтинг:
12

Kornfeld Eliyahu Peter

Сообщение, которое вы видите, в основном означает, что у вас заблокирован порт на пути к серверу...
Порт здесь-143 (порт по умолчанию для незащищенного протокола IMAP)...
Также очень возможно, что вам нужно использовать порт 993 (порт для защищенного протокола IMAP) в качестве защищенного соединения Google request...