Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - ¿Cómo enviar un email usando GMail de Google y VB.Net?
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information ¿Cómo enviar un email usando GMail de Google y VB.Net?

Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: ¿Cómo enviar un email usando GMail de Google y VB.Net? Responder citando

¿Se puede enviar un email con Visual Studio .Net usando una cuenta de GMail y el propio servidor de GMail? quisiera poder enviar correos electrónicos desde una aplicación que he desarrollado con Visual Basic .Net 2010 y que permita SSL, supongo que así podré usar el servidor de GMail (smtp.gmail.com). ¿es posible? ¿tengo que utilizar componentes adicionales?
MensajePublicado:
Mie Jun 08, 2011 9:39 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net? Responder citando



Anuncios



También quisiera enviar ficheros adjuntos (varios por mail).
MensajePublicado:
Mie Jun 08, 2011 10:02 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net? Responder citando



Anuncios



Sí es posible enviar un email usando Visual Studio .Net y los servidores de Google (smtp.gmail.com). Además, puedes enviarlo con SSL sin necesidad de usar componentes de terceros, puedes usar MailMessage y SmtpClient del Namespace System.Net.Mail.

A continuación te mostramos el código fuente de una función para enviar un correo electrónico usando SSL (o no) y autenticación, que también envía ficheros adjuntos:

Código:

   Public Sub enviarMail(ByVal emailDesde As String,
                            ByVal emailPara As String, ByVal asunto As String,
                            ByVal cuerpoMail As String,
                            ByVal emailCC As String,
                            ByVal emailCCO As String,
                            ByVal usuario As String,
                            ByVal contrasena As String,
                            ByVal puerto As Integer,
                            ByVal servidorSMTP As String,
                            ByVal ssl As Boolean,
                            ByVal listaFicheros As Generic.List(Of String))

        Dim Msg As New MailMessage
        Dim SMTP As New SmtpClient()
        Dim i As Integer

        System.Windows.Forms.Cursor.Current = Cursors.WaitCursor

        Try
            Msg.From = New System.Net.Mail.MailAddress(
                emailDesde, "", System.Text.Encoding.UTF8)
            Msg.To.Add(emailPara)
            If emailCC <> "" Then
                Msg.CC.Add(emailCC)
            End If
            If emailCCO <> "" Then
                Msg.Bcc.Add(emailCCO)
            End If

            Msg.Subject = CStr(asunto)
            Msg.SubjectEncoding = System.Text.Encoding.UTF8

            Msg.Body = cuerpoMail
            Msg.BodyEncoding = System.Text.Encoding.UTF8
            Msg.IsBodyHtml = True

            If ssl Then
                SMTP.UseDefaultCredentials = False
                SMTP.Credentials =
                    New System.Net.NetworkCredential(usuario, contrasena)
            Else
                SMTP.UseDefaultCredentials = True
            End If

            For i = 0 To listaFicheros.Count - 1
                Msg.Attachments.Add(New System.Net.Mail.Attachment(
                                    listaFicheros.Item(i)))
            Next

            'If (ficheros IsNot Nothing) Or (ficheros <> "") Then
            ' For Each FileName In ficheros
            ' Msg.Attachments.Add(New System.Net.Mail.Attachment(FileName))
            'Next
            'End If

            SMTP.Port = puerto
            SMTP.Host = servidorSMTP
            SMTP.EnableSsl = ssl
            SMTP.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network

            SMTP.Send(Msg)

        Catch ex As Exception
            MsgBox(Err.Description, MsgBoxStyle.Critical +
                   MsgBoxStyle.OkOnly)
        Finally
            System.Windows.Forms.Cursor.Current = Cursors.Default
            SMTP = Nothing
            Msg.Dispose()
            GC.Collect()
        End Try
    End Sub


Un ejemplo de uso:

Código:

    Private Sub btEnviarMail_Click(sender As System.Object,
                                   e As System.EventArgs) Handles btEnviarMail.Click
        Dim ficherosAdjuntos As String = ""
        Dim i As Integer
        Dim listaFicheros = New Generic.List(Of String)

        For i = 0 To lsAdjuntos.Items.Count - 1
            listaFicheros.Add(lsAdjuntos.Items(i).ToString)
        Next

        enviarMail(txtEmailOrigen.Text, txtEmailDestino.Text,
                   txtAsunto.Text,
                   txtMensaje.Text, txtEmailCC.Text, txtEmailCCO.Text,
                   txtUsuario.Text, txtContrasena.Text,
                   Integer.Parse(txtPuerto.Text),
                   txtServidorSMTP.Text, opAutenticacion.Checked,
                   listaFicheros)
    End Sub
MensajePublicado:
Mie Jun 08, 2011 10:15 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net? Responder citando



Anuncios



En el siguiente enlace tienes una aplicación y su código fuente complento en Visual Basic .Net 2010 que envía un correo electrónico usando SSL con ficheros adjuntos:

http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=290
MensajePublicado:
Jue Jun 09, 2011 9:00 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A