miércoles, 27 de julio de 2011

[Code]Simple Procedimiento para Enviar E-mail.

Hola como va todo?, bueno para comenzar con este blog voy a colocar un code sencillo pero efectivo para enviar mail,,!

Empezare explicando los parametros que es lo mas importante para saber como aplicarlo en cualquiera de nuestras aplicaciones .net!

Private Sub EnviarMail(ByVal mail As String, ByVal contraseña As String, _
                           ByVal asunto As String, ByVal destinatario As String, _
                           ByVal cuerpo As String, _
                           Optional ByVal File As String = Nothing, _
                           Optional ByVal smtp As String = "smtp.live.com", _
                           Optional ByVal puerto As Integer = 587, _
                           Optional ByVal BodyHtml As Boolean = False)

El primer parametro de nuestro procedimiento es "MAIL", el cual tenemos que ingresar el mail del remitente en este caso el nuestro(como esta preconfigurado para el smtp de hotmail, el mail debe ser corresponder a ese,,).

El segundo parametro es "CONTRASEÑA" el cual es nuestra contraseña correcta del mail ingresado anteriormente.El tercer parametro es el "ASUNTO"..mmm...Creo que esta claro lo que ahy que ingresar al igual que destinatario que seria el mail de quien recibira nuestro mail...El unico detalle que are sera del "Cuerpo" por defecto en los parametros opcionales solo recibe texto plano como cuerpo del mensaje pero podemos darle a TRUE para enriquecer nuestro mail con texto HTML!.

Parametro opcional "FILE" aqui ingresamos la ruta del archivo si queremos adjuntar un archivo...preferentemente que sean comprimidos o de archivos de textos porque como sabemos archivos executables es "DIFICIL" que el servidor nos reciba....otro detalle es que los servidores SMTP tiene un limite en tamaño de archivo para enviar...creo yo que hotmail es solo 20 MB es por eso que antes de pasar por parametro el archivo verifiquemos si no supera para no recibir un error!.

Bueno despues de mucho explicar dejo el code completo para que prueben y vean lo sencillo que es y que podemos integrarlos en cualquier sistema creado en .net..Un Abrazo y hasta otro momento!

Todo el codigo que aqui se coloque en este blog,,es para uso de aprendizaje y espero se respeto al autor!



''' <summary>
    ''' para enviar mail con el servidor de hotmail u Otro que queramos
    ''' </summary>
    ''' <param name="mail">Mail del Remitente</param>
    ''' <param name="contraseña">Contraseña Del Remitente</param>
    ''' <param name="asunto">Asunto Del Mail</param>
    ''' <param name="destinatario">Mail para quien va dirigido el mail</param>
    ''' <param name="cuerpo">Cuerpo Del Mensaje</param>
    ''' <param name="File">Archivo para Enviar Adjunto al Mail</param>
    ''' <param name="smtp">Para Editar el Servidor Smtp</param>
    ''' <param name="puerto">Puerto Del Servidor Smtp es Opcional si el servidor lo requiere</param>
    ''' <param name="BodyHtml">Por si queremos Incluir codigo Html a Nuestro Mail</param>
    ''' <remarks></remarks>
    Private Sub EnviarMail(ByVal mail As String, ByVal contraseña As String, _
                           ByVal asunto As String, ByVal destinatario As String, _
                           ByVal cuerpo As String, _
                           Optional ByVal File As String = Nothing, _
                           Optional ByVal smtp As String = "smtp.live.com", _
                           Optional ByVal puerto As Integer = 587, _
                           Optional ByVal BodyHtml As Boolean = False)


        Dim servidor As New System.Net.Mail.SmtpClient

        Dim mails As New System.Net.Mail.MailMessage

        Try
            If System.IO.Path.IsPathRooted(File) Then
                Dim FileAdjunto As New Net.Mail.Attachment(File)
                mails.Attachments.Add(FileAdjunto)
            End If
            With mails
                .From = New System.Net.Mail.MailAddress(mail, mail, System.Text.Encoding.UTF8)
                .Subject = asunto
                .SubjectEncoding = System.Text.Encoding.UTF8
                .To.Add(destinatario)
                .Body = cuerpo
                .BodyEncoding = System.Text.Encoding.UTF8
                .IsBodyHtml = BodyHtml
            End With
            With servidor
                .Host = smtp
                .Port = puerto
                .EnableSsl = True
                .Credentials = New System.Net.NetworkCredential(mail, contraseña)
                .Send(mails)

            End With
        Catch ex As System.Net.Mail.SmtpException
            MessageBox.Show(ex.ToString, "Envio De Mail", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try
    End Sub

No hay comentarios:

Publicar un comentario