.net pop3 через http прокси - PullRequest
       10

.net pop3 через http прокси

0 голосов
/ 09 марта 2011

Итак, я получил mailsystem.net из codeplex (http://mailsystem.codeplex.com/), для написания pop3-клиента. Проблема в том, что я хочу использовать прокси-сервер http. Найдены некоторые подсказки по адресу:

Какоткрыть сокет через прокси-сервер в .Net C #?

и вот мой код:

Pop3Client pop = new Pop3Client();
Socket sock = new Socket(AddressFamily.InterNetwork,
                             SocketType.Stream,
                             ProtocolType.Tcp);
sock.Connect("79.172.35.74", 82); // here is proxy
sock.Send(Encoding.UTF8.GetBytes("CONNECT pop.yandex.ru:110 HTTP/1.1<CR><LF>")); // here pop3 server
sock.Send(Encoding.UTF8.GetBytes("<CR><LF>"));
byte[] buffer = new byte[25];
sock.Receive(buffer);
pop.Client = sock;
pop.Connect(config.pop3.host, config.pop3.username, config.pop3.password);

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

Ответы [ 2 ]

1 голос
/ 25 июля 2011

Эта строка:

pop.Connect(config.pop3.host, config.pop3.username, config.pop3.password);

не нужна, ваш разъем уже подключен .Вы должны только войти в систему.

Вы можете попробовать Mail.dll POP3 компонент .Обратите внимание, что это коммерческий (не бесплатный) продукт, который я создал.

Поддерживаются прокси HTTP и SOCKS:

http://www.lesnikowski.com/blog/index.php/imap-pop3-smtp-via-http-socks-proxy/

1 голос
/ 09 марта 2011

Цитата из поста, на который вы ссылаетесь:

  1. Подключение к прокси.
  2. Выпуск CONNECT Host:Port HTTP/1.1<CR><LF>
  3. выпуск <CR><LF>
  4. Ждите ответной строки. Если он содержит HTTP/1.X 200, соединение установлено успешно.
  5. Читайте дальнейшие строки ответа, пока не получите пустую строку.
  6. Теперь вы подключены к внешнему миру через прокси. Любой обмен данными вы хотите.

Где вы это делаете? 5? Где вы читаете все строки, пока не получите пустую строку?

Кроме того, я не знаю, в чем может быть проблема. Вы можете использовать Библиотека прокси Starksoft , чтобы помочь вам.

...