domingo, 19 de agosto de 2007

Enviar mails desde nuestra aplicación

Esta es una manera sencilla de implementar el envío de correo electrónico desde nuestra aplicación (la aplicación de ejemplo consta sólo de un formulario con un botón).
También podríamos crear un sistema de mailing masivo, implementando un bucle que recorra los destinatarios, de esta manera podríamos enviar noticias a nuestros clientes acerca de nuevos productos en nuestra empresa, sin tener que depender de productos de terceras personas.

Imports System.Net
Imports System.Net.Mail
Public Class Inicio
Private Sub Enviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enviar.Click
Try
Dim mensaje As New MailMessage()
Dim cliente As SmtpClient = New SmtpClient("smtp.loquesea.com")
Dim cuerpo As String = "Esto es una prueba de mailing usando Visual Studio 2008, desde un formulario sencillo"

'TODO: Podemos implementar un bucle que procese los registros con emails (podemos obtenerlos de una BD por ejemplo)
With mensaje
.From = New System.Net.Mail.MailAddress("francisco@nospam.com")
'Iremos añadiendo los distintos destinatarios de los mensajes
.To.Add("irma@nospam.com")
.Subject = "Pruebas"
.Body = cuerpo
End With

cliente.Credentials = New System.Net.NetworkCredential("francisco@nospam.com", "1234")
'Añadimos las credenciales
cliente.Credentials = CredentialCache.DefaultNetworkCredentials
cliente.Send(mensaje)
MsgBox("Mensaje enviado con éxito")

'TODO: En esta parte podríamos controlar los distintos tipos de excepciones que se pueden presentar, fallo al enviar,
'correo lleno, ... para ello usaríamos en lugar de exception SmtpFailedRecipientsException y con una variable de tipo
'SmtpStatusCode podríamos recuperar el estado y asignar un mensaje más entendible para el usuario.
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub
End Class

No hay comentarios: