Nuevo Foro de programacion
0 Usuarios y 1 Visitante están viendo este tema.
Hola a todos ... aquí les dejo una clase para enviar correos. La clase lo único que hace es ordenar un poco.Las clases System.Net.Mail.MailMessage y System.Net.Mail.SmtpClient son excelentes y fácil de usar en forma directa
Public Class cMail#Region "INTRO" 'Clase creada por SoftMania 'Aplicación: Clase para envíar correos 'Declarar clase 'Dim Correo As New cMail 'Modo de implementación 'Los nombres son intuitivos ---------------------------------------------------------------- ' Correo.pServidorCorreo = "smtp.gmail.com" ' Correo.pPuertoCorreo = 587 ' Correo.pHabilitarSsl = True 'conexión segura si fuera requerido ' Correo.pUsuario = "correo_origen@xxxx.com" 'usuario del correo ' Correo.pPassWord = "xxxxx" 'pass del correo ' Correo.pCodificacion = cMail.eCodificacion.UTF8 ' Correo.pCorreoRemitente = "correo_origen@xxxx.com" 'el que envía :P ' Correo.pCorreoDestino = "correo_destino@xxxx.com" 'el que recine :P ' Correo.pApodo = "PEPE" ' Correo.pAsunto = "AQUI EL ASUNTO" ' Correo.pMensaje = "AQUI EL MENSAJE" ' Correo.pFormatoHtml = True ' Correo.pPrioridad = cMail.ePrioridad.NORMAL ' Correo.Enviar_correo() '-------------------------------------------------------------------------------------------#End Region#Region "DECLARACION" Dim sCorreoRemitente As String Dim sServidorCorreo As String = "smtp.gmail.com" Dim sPuertoCorreo As Integer = 587 Dim sHabilitarSsl As Boolean = True Dim sCorreoDestino As String Dim sAsunto As String Dim sMensaje As String Dim sPrioridad As ePrioridad = ePrioridad.NORMAL Dim sCodificacion As eCodificacion = eCodificacion.UTF8 Dim sUsuario As String Dim sPassWord As String Dim sApodo As String Dim sFormatoHtml As Boolean = True Enum eCodificacion UTF8 UTF32 UTF7 ASCII End Enum Enum ePrioridad ALTA NORMAL BAJA End Enum#End Region#Region "PROPIEDADES" Public Property pFormatoHtml() As String Get Return sFormatoHtml End Get Set(ByVal value As String) sFormatoHtml = value End Set End Property Public Property pUsuario() As String Get Return sUsuario End Get Set(ByVal value As String) sUsuario = value End Set End Property Public Property pApodo() As String Get Return sApodo End Get Set(ByVal value As String) sApodo = value End Set End Property Public Property pPassWord() As String Get Return sPassWord End Get Set(ByVal value As String) sPassWord = value End Set End Property Public Property pPrioridad() As ePrioridad Get Return sPrioridad End Get Set(ByVal value As ePrioridad) sPrioridad = value End Set End Property Public Property pCodificacion() As eCodificacion Get Return sCodificacion End Get Set(ByVal value As eCodificacion) sCodificacion = value End Set End Property Public Property pMensaje() As String Get Return sMensaje End Get Set(ByVal value As String) sMensaje = value End Set End Property Public Property pAsunto() As String Get Return Me.sAsunto End Get Set(ByVal value As String) Me.sAsunto = value End Set End Property Public Property pCorreoDestino() As String Get Return Me.sCorreoDestino End Get Set(ByVal value As String) Me.sCorreoDestino = value End Set End Property Public Property pHabilitarSsl() As Boolean Get Return Me.sHabilitarSsl End Get Set(ByVal value As Boolean) Me.sHabilitarSsl = value End Set End Property Public Property pPuertoCorreo() As Integer Get Return Me.sPuertoCorreo End Get Set(ByVal value As Integer) Me.sPuertoCorreo = value End Set End Property Public Property pServidorCorreo() As String Get Return Me.sServidorCorreo End Get Set(ByVal value As String) Me.sServidorCorreo = value End Set End Property Public Property pCorreoRemitente() As String Get Return Me.sCorreoRemitente End Get Set(ByVal value As String) Me.sCorreoRemitente = value End Set End Property#End Region#Region "FUNCIONES" Public Function Enviar_correo() As Boolean Dim rCodificacion As System.Text.Encoding Dim rPrioridad As System.Net.Mail.MailPriority Dim vMensaje As New System.Net.Mail.MailMessage Dim ServSMTP As New System.Net.Mail.SmtpClient ServSMTP.Host = sServidorCorreo ServSMTP.Port = sPuertoCorreo ServSMTP.EnableSsl = sHabilitarSsl ServSMTP.Credentials = New System.Net.NetworkCredential(sUsuario, sPassWord) vMensaje.[To].Add(sCorreoDestino) 'Cuenta de Correo al que se le quiere enviar el e-mail Select Case sCodificacion Case eCodificacion.ASCII rCodificacion = System.Text.Encoding.ASCII Case eCodificacion.UTF32 rCodificacion = System.Text.Encoding.UTF32 Case eCodificacion.UTF7 rCodificacion = System.Text.Encoding.UTF7 Case Else rCodificacion = System.Text.Encoding.UTF8 End Select Select Case sPrioridad Case ePrioridad.ALTA rPrioridad = Net.Mail.MailPriority.High Case ePrioridad.BAJA rPrioridad = Net.Mail.MailPriority.Low Case ePrioridad.NORMAL rPrioridad = Net.Mail.MailPriority.Normal End Select vMensaje.From = New System.Net.Mail.MailAddress(sCorreoRemitente, sApodo, rCodificacion) vMensaje.Subject = sAsunto vMensaje.SubjectEncoding = rCodificacion vMensaje.Body = sMensaje vMensaje.BodyEncoding = rCodificacion vMensaje.IsBodyHtml = sFormatoHtml vMensaje.Priority = rPrioridad Try ServSMTP.Send(vMensaje) Return True Catch ex As System.Net.Mail.SmtpException Return False End Try End Function#End RegionEnd Class