En esta ocasión les mostrare un ejemplo de como enviar un mensaje de correo , utilizando System.Net.Mail, a traves de un servidor SMTP. En este ejemplo agrego un archivo adjunto
Aqui va el codigo Fuente:
Public Sub EnviarMail()
'Creamos las variables para los parametros del mensaje de correo a enviar
Dim SMTP As String = "mail.midominio.com"
Dim Usuario As String = "usuario@midominio.com"
Dim Password As String = "elpassworddelusuario"
Dim Destinatario As String = "unadireccion@mail.com"
Dim Contenido As String="Aqui va el cuerpo del mensaje"
Dim Asunto As String = "Aqui va el asunto del mensaje"
Dim ArchivoAdjuntar as New Attachment("C:\prueba.txt")
Dim Puerto As Integer = 26 'Depende del puerto de salida de su servidor SMTP
'Se crea el mensaje
Dim correo As New System.Net.Mail.MailMessage()
correo.From = New System.Net.Mail.MailAddress(Usuario)
correo.To.Add(Destinatario)
correo.Subject = Asunto
correo.Body = Contenido
'Adjuntamos el archivo
correo.Attachments.Add(ArchivoAdjuntar)
'Configuramos el servidor smtp antes de enviar, pasandole las variables que ya tenemos
Dim Servidor As New System.Net.Mail.SmtpClient
Servidor.Host = SMTP
Servidor.Port = Puerto
Servidor.EnableSsl = False 'Depende si su servidor usa SSL
Servidor.Credentials = New System.Net.NetworkCredential(Usuario, Password)
'Enviamos el mail dentro de un try, para atrapar un posible error
Try
Servidor.Send(correo)
MsgBox("Correo enviado Satisfactoriamente", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox("Error al enviar mail :" + ex.Message)
End Try
End Sub
VB.Net Blog de Santiago
Blog de Visual Basic .net ejemplos codigo fuente en vb.net, visual basic.net
martes, 16 de abril de 2013
viernes, 1 de febrero de 2013
Controlar cierre de un formulario con formclosing Vb.net
Mientras realizaba una aplicación, quise cerrar el único formulario que tenia y toda la aplicación cuando el usuario hiciera clic en el botón cerrar, pero antes preguntarle si asi lo deseaba de lo contrario, cancelar el cierre. La primera solución que pensé fue la siguiente:
Aparentemente funcionaba bien, al darle clic en el botón de cerrar, salia el mensaje de advertencia, si contestabas que no deseabas salir, el evento de cerrar se cancelaba. Pero resulta que cuando el usuario respondiera que si, volvía a realizar la misma pregunta si deseaba salir... y si respondía si otra vez, era entonces cuando se cerraba la aplicación.
Analizando un poco la situación, llegue a lo siguiente:
- La funcion Application.Exit, involucraba realizar el cierre de todos los formularios para luego terminar la aplicacion, por lo tanto, puesto que tengo control sobre ese evento con el form_closing, la funcion aplication.exit, volvia a desencadenar mi evento form_closing, por esa razon preguntaba dos veces..
Con esto concluimos que el evento form_closing, no siempre se sucede cuando el usuario intenta cerrar un formulario, sino que puede desencadenarse con otros eventos que el usuario no realiza propiamente.
Entonces la solución fue:
- Primero averiguar si ese cierre del formulario fue ocasionado por el usuario, y así entonces desplegar el mensaje si realmente deseaba cerrar el form y en consecuencia la aplicacion.
Así que esta fue la solución:
Gracias a la propiedad closereason, para saber la razon del cierre de un formularion, en este caso, el cierre por parte del usuario
End Sub
Private Sub Form1_FormClosing(ByVal
sender As System.Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles
MyBase.FormClosing
If MsgBox("Si cierra la aplicacion no se guardaran los cambios, realmente desea salir?",
MsgBoxStyle.YesNo, "Salir?") = MsgBoxResult.Yes Then
Application.Exit()
Else
e.Cancel = True
End If
End Sub
Aparentemente funcionaba bien, al darle clic en el botón de cerrar, salia el mensaje de advertencia, si contestabas que no deseabas salir, el evento de cerrar se cancelaba. Pero resulta que cuando el usuario respondiera que si, volvía a realizar la misma pregunta si deseaba salir... y si respondía si otra vez, era entonces cuando se cerraba la aplicación.
Analizando un poco la situación, llegue a lo siguiente:
- La funcion Application.Exit, involucraba realizar el cierre de todos los formularios para luego terminar la aplicacion, por lo tanto, puesto que tengo control sobre ese evento con el form_closing, la funcion aplication.exit, volvia a desencadenar mi evento form_closing, por esa razon preguntaba dos veces..
Con esto concluimos que el evento form_closing, no siempre se sucede cuando el usuario intenta cerrar un formulario, sino que puede desencadenarse con otros eventos que el usuario no realiza propiamente.
Entonces la solución fue:
- Primero averiguar si ese cierre del formulario fue ocasionado por el usuario, y así entonces desplegar el mensaje si realmente deseaba cerrar el form y en consecuencia la aplicacion.
Así que esta fue la solución:
Gracias a la propiedad closereason, para saber la razon del cierre de un formularion, en este caso, el cierre por parte del usuario
Private Sub Form1_FormClosing(ByVal
sender As System.Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles
MyBase.FormClosing
If e.CloseReason = CloseReason.UserClosing Then
If MsgBox("Si cierra la aplicacion no se guardaran los cambios, realmente desea salir?",
MsgBoxStyle.YesNo, "Salir?") = MsgBoxResult.Yes Then
Application.Exit()
Else
e.Cancel = True
End If
End If End Sub
Suscribirse a:
Entradas (Atom)