mrkeivan Ответов: 0

Проблема с использованием mailkit для получения писем gmail


Я работаю над приложением mvc для получения писем из моей учетной записи gmail с помощью MailKit, на моем локальном компьютере оно работает отлично. Однако при загрузке его на хост я получаю сообщение "Операция сокета была предпринята в недоступной сети". У меня на хосте не включен ssl. все предложения приветствуются я ползал по интернету и даже перепробовал все решения S22.Imap.dll но все та же ошибка.

    using (var client = new ImapClient())
{
    using (var cancel = new CancellationTokenSource())
    {
        // For demo-purposes, accept all SSL certificates
        client.ServerCertificateValidationCallback = (s, c, h, e) => true;

        var ips = Dns.GetHostAddresses("imap.gmail.com");
        try
        {
            client.Connect("imap.gmail.com", 993, true, cancel.Token);
        }
        catch
        {
            foreach (var ip in ips)
            {
                try
                {
                    client.Connect(ip.ToString(), 993, true, cancel.Token);
                }
                catch (SocketException e) //error means server is down, try other IP
                {
                    //nothing, check next IP for connection
                }
            }
        }

        // Note: since we don't have an OAuth2 token, disable
        // the XOAUTH2 authentication mechanism.
        client.AuthenticationMechanisms.Remove("XOAUTH2");

        client.Authenticate(username, password);}}


Это проблема SSL ? ценю всю помощь, которую могу получить

С уважением,

Что я уже пробовал:

все нашел в гугле
даже пытался S22.Imap.dll-та же проблема.

Graeme_Grant

Есть ли внутреннее исключение? Внутреннее исключение должно дать причину.

mrkeivan

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

Richard MacCutchan

"Была предпринята попытка подключения сокета к недоступной сети"
Это говорит о том, что целевой IP-адрес не может быть достигнут из системы, в которой выполняется этот код. Может быть заблокирован брандмауэром или просто не подключен к внешнему миру.

mrkeivan

У меня нет доступа к фактическому серверу, так как это общий хост, но я попросил их пропинговать адрес и дать мне знать.

Dave Kreskowiak

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

mrkeivan

Thanx, я оставил им сообщение, давайте посмотрим, что они могут сделать.

0 Ответов