leer email en servidor exchange desde vb.net

14/10/2005 - 06:27 por ROLANDOCC | Informe spam
saludos,
alguien tendra un ejemplo de como ir a un servidor exchange
para averiguar si tengo nuevos correos?
algo asi como el gmail notifier pero en vb.net y para
un servidor exchange ...
gracias.

Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»
 

Leer las respuestas

#1 Octavio Telis Aynés
14/10/2005 - 18:19 | Informe spam
Te podría servir utilizar un socket conectandote a Exchange... al final es
un servidor POP que te puede informar eso...

Pordría ser algo como lo de abajo... aunque una versión muy ligera.


Public Function CantidadDeMensajesEnServidor(ByVal Servidor As String, _
ByVal Usuario As String, ByVal Contraseña As String) As
Integer
Dim NetStream As System.Net.Sockets.NetworkStream
Dim RdStream As System.IO.StreamReader
Dim comSocket As System.Net.Sockets.TcpClient = _
New System.Net.Sockets.TcpClient
Dim Datos As String
Dim Bytes As Byte()
Dim NoMensajes As Integer
comSocket.Connect(Servidor, 110)
NetStream = comSocket.GetStream()
RdStream = New _
System.IO.StreamReader(comSocket.GetStream())
If RdStream.ReadLine().StartsWith("+OK") Then
Datos = "USER " & Usuario & _
System.Environment.NewLine
Bytes = System.Text.Encoding.ASCII.GetBytes( _
Datos.ToCharArray())
NetStream.Write(Bytes, 0, Bytes.Length)
If RdStream.ReadLine().StartsWith("+OK") Then
Datos = "PASS " & Contraseña & _
System.Environment.NewLine
Bytes = System.Text.Encoding.ASCII.GetBytes( _
Datos.ToCharArray())
NetStream.Write(Bytes, 0, Bytes.Length)
If RdStream.ReadLine().StartsWith("+OK") Then
Dim str As String
Datos = "STAT " & Contraseña & _
System.Environment.NewLine
Bytes = System.Text.Encoding.ASCII.GetBytes( _
Datos.ToCharArray())
NetStream.Write(Bytes, 0, Bytes.Length)
str = RdStream.ReadLine()
If Not str.StartsWith("-ERR") Then
Return Integer.Parse(str.Substring(4).Substring( _
0, str.Substring(4).IndexOf(" ")))
Else
MessageBox.Show( _
"Existen problemas para obtener la cantidad
" & _
"de correos")
Return 0
End If
Else
MessageBox.Show( _
"Existen problemas para validar su usuario o " &
_
"contraseña")
Return 0
End If
Else
MessageBox.Show( _
"Existen problemas para validar su usuario o " & _
"contraseña")
Return 0
End If
Else
MessageBox.Show( _
"Existen problemas para conectarse con el servidor")
Return 0
End If
End Function

En servidor pasa el nombre de exchange o bien la dirección IP del servidor
donde se encuentra, en Usuario pues el nombre de tu usuario y en Contraseña
pues eso mismo... El código lo puese con saltos de línea pues ya saben,
Outlook Express lo corta y bueno, para que sea más legible lo he segmentado.

Si mis cálculos no fallan, el servidor Exchange debería exponer por el
puerto 110 del servidor el servicio de POP3 que es lo que estoy usando para
comunicarme y obtener la información...

Que lo disfruten y ojalá sea de utilidad (no olvides comentarnos cómo te
fue).

Saludos...

Octavio Telis Aynés
http://otelis.blogspot.com



"ROLANDOCC" escribió en el mensaje
news:
saludos,
alguien tendra un ejemplo de como ir a un servidor exchange
para averiguar si tengo nuevos correos?
algo asi como el gmail notifier pero en vb.net y para
un servidor exchange ...
gracias.

Saludos desde Costa Rica! : )

DISCLAIMER: «Este mensaje se proporciona "como está" sin garantías de
ninguna indole, y no otorga ningún derecho.»


Preguntas similares