Buenas!
aquí os dejo una función para poder recibir correo. En el Framework 2.0 de .Net, existe un namespace system.Net.Mail, que funciona muy bien (y sencillo de usar) para enviar correo, pero no para recibirlo. Para ello, nos construimos nosotros la trama y abriendo un socket con el protocolo TCP, podemos conectarnos al servidor de correo y leerlo.
Ahí va:
Sub Recibir()
Dim hostName As String = "pop.servidoredecorreo.com" 'Pon el hostname de tu servidor de correo entrante
Dim userName As String = "GRUPO\Usuario" 'Pon tu Grupo\Usuario
Dim userPassword As String = "Password" ' Pon tu Password
Dim tcpClient As Net.Sockets.TcpClient = New Net.Sockets.TcpClient
Dim messageNumber As String = "1"
Dim returnMessage As String
Dim sTemp As String
Try
tcpClient.Connect(hostName, 110)
Dim networkStream As Net.Sockets.NetworkStream = tcpClient.GetStream()
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
Dim sendBytes As Byte()
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = System.Text.Encoding.ASCII.GetBytes("User " + userName + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = System.Text.Encoding.ASCII.GetBytes("Pass " + userPassword + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = System.Text.Encoding.ASCII.GetBytes("STAT" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = System.Text.Encoding.ASCII.GetBytes("RETR " + messageNumber + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
System.Threading.Thread.Sleep(500)
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
returnMessage = System.Text.Encoding.ASCII.GetString(bytes)
Console.WriteLine(returnMessage.ToString)
sendBytes = System.Text.Encoding.ASCII.GetBytes("QUIT" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
tcpClient.Close()
Catch ex As Exception
Console.WriteLine("No se puede recibir correo o el buzon de entrada esta vacio")
End Try
End Sub
Espero que os haya sido útil!
Saludos!!
miércoles, 22 de abril de 2009
martes, 14 de abril de 2009
Devolver Datetime con la hora a cero
Hola compañeros!
Trabajando con una Base de datos SQL Server 2005, me encontré
con la necesidad de devolver un campo DateTime con la hora a 0, tipo esto:
dd/mm/yyyy 00:00:00.000.
Esto os puede ocurrir, por ejemplo, cuando tenéis alguna aplicación en la que insertas registros el día X con un Now() en el campo DateTime. Como el Now() también pone la hora exacta (14:21:34.234), en el momento de querer saber qué registros se insertaron el día X, necesitaremos devolver el campo DateTime con la hora a ceros.
Pues bien, aquí teneis una función en T-SQL que devolverá el Datime con hora a ceros:
CREATE FUNCTION [dbo].[fnc_GetDateOnly] ( @pInputDate DATETIME )
RETURNS DATETIME
BEGIN
RETURN convert (datetime, convert (varchar, @pInputDate, 101), 101)
END
Espero que os haya sido útil!
Trabajando con una Base de datos SQL Server 2005, me encontré
con la necesidad de devolver un campo DateTime con la hora a 0, tipo esto:
dd/mm/yyyy 00:00:00.000.
Esto os puede ocurrir, por ejemplo, cuando tenéis alguna aplicación en la que insertas registros el día X con un Now() en el campo DateTime. Como el Now() también pone la hora exacta (14:21:34.234), en el momento de querer saber qué registros se insertaron el día X, necesitaremos devolver el campo DateTime con la hora a ceros.
Pues bien, aquí teneis una función en T-SQL que devolverá el Datime con hora a ceros:
CREATE FUNCTION [dbo].[fnc_GetDateOnly] ( @pInputDate DATETIME )
RETURNS DATETIME
BEGIN
RETURN convert (datetime, convert (varchar, @pInputDate, 101), 101)
END
Espero que os haya sido útil!
Etiquetas:
SQL Server 2005,
T-SQL
miércoles, 8 de abril de 2009
Los AsyncPostBackTrigger y PostBackTrigger de AJAX ASP.Net 2.0
El control UpdatePanel , se utiliza para generar webs AJAX ASP.NET 2.0. La idea es que estos paneles se updatean realizando peticiones asíncronas al servidor y refrescan su contenido sin tener que hacer un PostBack de la página entera, si no únicamente de este "trocito" de web.
Con esto potenciamos el User Friendly de nuestra aplicación web, realizando cambios sin que se dé cuenta el usuario.
Para updatear nuestro UpdatePanel necesitamos que un control de la web desencadene un POSTBACK (submit en HTML) . Este control puede ser un botón, que podrá estar ubicado dentro o fuera del panel. La ubicación dará lugar a los dos tipos de trigger's.
Los botones que están fuera usarán el trigger AsyncPostBackTrigger. Deberemos asignar el evento relacionado (Click, Databinding...) . De este modo, al hacer click sobre el botón, refrescaremos el UpdatePanel:
Cuando el control está dentro, el trigger que utiliza es el PostBackTrigger. A este trigger no le tenemos que asignar un evento, así cuando el control mande un postback, el panel recogerá este POST para refrescar su contenido:
Ya tenemos una acción AJAX en nuestra Web!!
Espero que os haya sido útil. Saludos!!
Con esto potenciamos el User Friendly de nuestra aplicación web, realizando cambios sin que se dé cuenta el usuario.
Para updatear nuestro UpdatePanel necesitamos que un control de la web desencadene un POSTBACK (submit en HTML) . Este control puede ser un botón, que podrá estar ubicado dentro o fuera del panel. La ubicación dará lugar a los dos tipos de trigger's.
Los botones que están fuera usarán el trigger AsyncPostBackTrigger. Deberemos asignar el evento relacionado (Click, Databinding...) . De este modo, al hacer click sobre el botón, refrescaremos el UpdatePanel:
Cuando el control está dentro, el trigger que utiliza es el PostBackTrigger. A este trigger no le tenemos que asignar un evento, así cuando el control mande un postback, el panel recogerá este POST para refrescar su contenido:
Ya tenemos una acción AJAX en nuestra Web!!
Espero que os haya sido útil. Saludos!!
Etiquetas:
ajax,
ajaxcontroltoolkit,
asp.net,
framework 2.0,
updatepanel,
web
Suscribirse a:
Comentarios (Atom)


