471,616 Members | 1,338 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,616 software developers and data experts.

Connect to POP3 and IMAP4 through proxy using TCPClient...

Hello. I'm writing a VB.NET app to check email message counts for both
POP3 and IMAP4. I'm using TCPClient to connect, and a NetworkStream to
send simple commands. It's a very simple bit of code, actually... the
problem is, if the user is behind a proxy, then the Connect method
fails (times out).

How do I get around this? I thought this would be a common issue and
that there would be plenty of code out there to demonstrate how to
connect to mail servers from behind a proxy, but so far, all I've found
is people with the same problem as me, but no answers.

If there's a better object to use than TCPClient, then please post
example of how to implement the proxy, as well as how to send
commands/receive responses. Solutions in VB.NET or C# will do, I can
always convert code, if necessary.

Any help is appreciated. Thank you.
WATYF
(the next step will be coding for POP3 SSL connectivity, but that can
wait until I get over this hurdle.)

Nov 21 '05 #1
4 5629
Are you sure this is being caused due to a proxy? There are two types of
proxy servers. The first is only used when a client is configured for it
(that is why the HttpWebRequest class actually has an attribute of type
WebProxy), and the second is a transient one such as NAT (which is a proxy
itself). That is why the HttpWebRequest and similar classes actually have a
proxy attribute - because they need to be specifically configured to use a
proxy. Since TCPClient is at a lower level than HttpWebRequest (it is app
protocol independent), it won't connect to the proxy server unless you
implement that functionality yourself - or the proxy server is a transient
one.

In the majority of cases though the only proxies that exist are ones that
require client configuration. So unless you specifically make a connection
to the proxy to make the request instead of the actual resource - the proxy
shouldn't be used.

Any more info you can give would help me help you :-)

Sorry I am not more help.

--
Nathan

<WA****@gmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
Hello. I'm writing a VB.NET app to check email message counts for both
POP3 and IMAP4. I'm using TCPClient to connect, and a NetworkStream to
send simple commands. It's a very simple bit of code, actually... the
problem is, if the user is behind a proxy, then the Connect method
fails (times out).

How do I get around this? I thought this would be a common issue and
that there would be plenty of code out there to demonstrate how to
connect to mail servers from behind a proxy, but so far, all I've found
is people with the same problem as me, but no answers.

If there's a better object to use than TCPClient, then please post
example of how to implement the proxy, as well as how to send
commands/receive responses. Solutions in VB.NET or C# will do, I can
always convert code, if necessary.

Any help is appreciated. Thank you.
WATYF
(the next step will be coding for POP3 SSL connectivity, but that can
wait until I get over this hurdle.)

Nov 21 '05 #2
Oh,
one more thing. When in doubt, consult Wikipedia :-)

http://en.wikipedia.org/wiki/Web_proxy

--
Nathan

<WA****@gmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
Hello. I'm writing a VB.NET app to check email message counts for both
POP3 and IMAP4. I'm using TCPClient to connect, and a NetworkStream to
send simple commands. It's a very simple bit of code, actually... the
problem is, if the user is behind a proxy, then the Connect method
fails (times out).

How do I get around this? I thought this would be a common issue and
that there would be plenty of code out there to demonstrate how to
connect to mail servers from behind a proxy, but so far, all I've found
is people with the same problem as me, but no answers.

If there's a better object to use than TCPClient, then please post
example of how to implement the proxy, as well as how to send
commands/receive responses. Solutions in VB.NET or C# will do, I can
always convert code, if necessary.

Any help is appreciated. Thank you.
WATYF
(the next step will be coding for POP3 SSL connectivity, but that can
wait until I get over this hurdle.)

Nov 21 '05 #3
I'm fairly confident that it's the proxy. The identical code runs just
fine at home (no proxy) but it Fails during the TcpClient.Connect
method at work (behind proxy).

If there's something else it might be, please let me know... that's the
only thing that I can think of.
WATYF

Nov 21 '05 #4
Here's the code, in case there was any ambiguity left... as you can
see, there's nothing more happening other than a simple TCPClient
connection being initiated.
Private tcp As TcpClient

'Connect to server
tcp = New TcpClient
tcp.ReceiveTimeout = 10000
tcp.Connect("mail.myserver.com", 110)
It fails at "tcp.Connect" and gives the following exception:

A connection attempt failed because the connected party did not
properly respond after a period of time, or established connection
failed because connected host has failed to respond.

WATYF

Nov 21 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Rui | last post: by
10 posts views Thread by Abubakar | last post: by
reply views Thread by Tamas Bojcan | last post: by
2 posts views Thread by iwdu15 | last post: by
4 posts views Thread by =?Utf-8?B?QWxwYW5h?= | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.