Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NET
' En este caso llamamos un método que nos devolverá el contenido del
' correo en HTML, pero tambien podria ser cualquier valor de tipo String
' que queramos enviar.
Dim mensaje As String = getMensajeCorreoListarEmpleados()
Try
Dim correo As New MailMessage()
correo.From = New MailAddress(casilla_origen)
correo.Subject = asunto
correo.Priority = MailPriority.Normal
correo.Body = mensaje
correo.IsBodyHtml = True
correo.DeliveryNotificationOptions =
DeliveryNotificationOptions.OnFailure
'==================================================================
' AGREGO LAS CASILLAS DE CORREO DONDE VA EL EMAIL
'===================================================================
correo.To.Add(email_destino)
' Casilla Con Copia
correo.CC.Add(cc_email_destino)
' Casilla Con Copia Oculta
correo.Bcc.Add(cco_email_destino)
'==================================================================
' ARCHIVOS ADJUNTOS
'==================================================================
'correo.Attachments.Add(archivoAdjunto)
'correo.Attachments.Add(new Attachment("C:\\file.zip"));
'==================================================================
' Parámetros de configuración del servidor de correo smtp, la
‘ configuracion de estos parámetros depende del servidor a utilizar
'==================================================================
smtp.Host = servidor_correo_smtp
'smtp.Port = servidor_correo_smtp_puerto
smtp.Credentials = New NetworkCredential(casilla_origen,
pass_casilla_origen)
' Definir si tu servidor SMTP requiere autenticación
'smtp.UseDefaultCredentials = True
'smtp.DeliveryMethod = SmtpDeliveryMethod.Network
smtp.EnableSsl = True
'==================================================================
' ENVÍO EL CORREO
'==================================================================
smtp.Send(correo)
'==================================================================
' Limpio el contenido de "correo" por si estuviera en un bucle
correo.Dispose()
Catch ex As SmtpFailedRecipientsException
' Captura los errores que corresponden a la casilla de correo destino
For i As Integer = 0 To ex.InnerExceptions.Length - 1
Dim status As SmtpStatusCode = ex.InnerExceptions(i).StatusCode
If status = SmtpStatusCode.MailboxBusy Then
Throw New SmtpException("ERROR en EnviarCorreo :: " +
ex.Message)
ElseIf status = SmtpStatusCode.MailboxUnavailable Then
Throw New SmtpException("ERROR en EnviarCorreo :: " +
ex.Message)
Else
Throw New SmtpException("ERROR en EnviarCorreo :: " +
ex.Message)
End If
Next
Catch ex As SmtpException
' Otros errores distintos a los anteriores que puede dar el envío
' Ejemplo no existe el servidor de correo
Throw New SmtpException("ERROR en EnviarCorreo :: " + ex.Message)
Catch ex As Exception
' Cualquier otro error
Throw New Exception("ERROR en EnviarCorreo :: " + ex.Message)
End Try
End Sub
2. Ejemplo de método para crear cuerpo del correo con HTML
Dim mensaje As String = "<html><head> <style type=""" & "text/css" & """>
.tftable {font-size:12px;color:#333333;width:100%;border-width:
1px;border-color: #729ea5;border-collapse: collapse;}
.tftable th {font-size:12px;background-color:#acc8cc;border-width:
1px;padding: 8px;border-style: solid;
border-color: #729ea5;text-align:left;}
.tftable tr {background-color:#d4e3e5;}
.tftable td {font-size:12px;border-width: 1px;padding:
8px;border-style: solid;border-color: #729ea5;}
.tftable tr:hover {background-color:#ffffff;}
</style></head><body>
<br>
<h2>Lista de Empleados</h2>
<br>
<table class=""" & "tftable" & """ border=""" & "1" & """>
<tr><th>Cédula</th><th>Nombre completo</th><th>Tipo
Empleado</th></tr>"
Return mensaje
End Function
Dim da As MySqlDataAdapter
Dim ds As New DataSet
Catch ex As Exception
Throw New Exception("ERROR en ListarEmpleados() :: " + ex.Message)
End Try
Return ds.Tables(0)
End Function