Прокси не позволяет моей программе подключиться к интернету - PullRequest
0 голосов
/ 07 мая 2010

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

Мы используем перехватывающий прокси на работе.Хотя я надеялся, что все будет работать, явно нет.

Итак, что мне нужно сделать, я никогда не программировал для подключения / отправки трафика через прокси.

Я использую C # и класс SmtpClient для отправки сообщения.Вот небольшой фрагмент.

SmtpClient client = new SmtpClient(emailType.Address, emailType.Port);
client.Credentials = new System.Net.NetworkCredential(tbxAccountUser.Text, tbxUserPassword.Text);
client.Send(message);

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

Я попробовал это:

WebRequest myWebRequest = WebRequest.Create ("http://www.google.com"); WebProxy myProxy = new WebProxy (); // Получить свойство Proxy для браузера по умолчанию.
myProxy = (WebProxy) myWebRequest.Proxy;

        Uri newUri = new Uri("http://"+ ip +":8080");

        // Associate the new Uri object to the myProxy object.
        myProxy.Address = newUri;

        // Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.
        myProxy.Credentials = new NetworkCredential(userName, passWd);
        myWebRequest.Proxy = myProxy;

Я не уверен, смогу ли я установить это для моего клиента SmtpClient?

Спасибо

1 Ответ

1 голос
/ 13 января 2011

У меня такая же проблема. Класс SMTP не имеет прокси-свойства, что делает вещи очень сложными. Единственное, что приходит на ум, - это использовать класс WebRequest и отправлять каждый атрибут вашего почтового сообщения в виде одной строки, после чего вы ждете ответа от сервера (WebRequest имеет свойство proxy). Но я еще не реализовал это. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...