Os dejo una función que permite enviar un correo desde Visual Basic .NET. Puede incluso enviar archivos adjuntos pasando las rutas de dichos archivos.
Public Shared Function EnviarCorreo(ByVal CuentaCorreoEnvio As String,
ByVal ClaveCorreoEnvio As String,
ByVal ServidorSMTP As String,
ByVal PuertoSMTP As Integer,
ByVal DireccionesEmail As List(Of String),
ByVal DireccionEmailCopia As List(Of String),
ByVal Asunto As String,
ByVal Cuerpo As String,
ByVal RutaFichero As List(Of String),
ByVal MostrarMensajeOK As Boolean,
ByVal NombreVisibleCorreo As String,
ByVal DireccionEmailCopiaOculta As List(Of String)) As Boolean
Dim miMail As New MailMessage
Try
Dim smtp As New SmtpClient
Dim i As Integer = 0
Dim miRecurso As Attachment
Dim miDireccion As New MailAddress(LCase(CuentaCorreoEnvio), NombreVisibleCorreo, System.Text.Encoding.UTF8)
miMail.From = miDireccion
Dim html As AlternateView = AlternateView.CreateAlternateViewFromString(Cuerpo, Encoding.UTF8, "text/html")
' If Me.iTipo <> Constantes.TipoCorreo.Boletin Then
i = 0
While i < DireccionesEmail.Count
miMail.To.Add(New MailAddress(DireccionesEmail(i)))
i = i + 1
End While
i = 0
While i < DireccionEmailCopia.Count
miMail.CC.Add(New MailAddress(DireccionEmailCopia(i)))
i = i + 1
End While
i = 0
While i < DireccionEmailCopiaOculta.Count
miMail.Bcc.Add(New MailAddress(DireccionEmailCopiaOculta(i)))
i = i + 1
End While
miMail.Subject = Asunto
miMail.IsBodyHtml = True
miMail.Body = Cuerpo
i = 0
While i < RutaFichero.Count
miRecurso = New Attachment(RutaFichero(i))
miMail.Attachments.Add(miRecurso)
i = i + 1
End While
smtp.Port = PuertoSMTP
smtp.Timeout = 30000
smtp.Host = ServidorSMTP ' Config.ServidorSMTP
smtp.EnableSsl = True
smtp.Credentials = New NetworkCredential(LCase(CuentaCorreoEnvio), ClaveCorreoEnvio)
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
EnviarCorreo = True
ServicePointManager.ServerCertificateValidationCallback = Function(s As Object, certificate As X509Certificate, chain As X509Chain, sslPolicyErrors As SslPolicyErrors) True
smtp.Send(miMail)
If MostrarMensajeOK Then
MessageBox.Show("Mensaje enviado correctamente", "Administrador",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Exception
EnviarCorreo = False
If MostrarMensajeOK Then
MessageBox.Show("ERROR " & ex.Message, "ADMINISTRADOR",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Finally
miMail.Dispose()
End Try
End Function
El servidor smtp, por ejemplo de Gmail es "smtp.gmail.com".

0 comentarios:
Publicar un comentario