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 FunctionEl servidor smtp, por ejemplo de Gmail es "smtp.gmail.com".
0 comentarios:
Publicar un comentario