Visual Basic.NET - Enviar correo gmail

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Enviar correo gmail

Publicado por Miguel (281 intervenciones) el 07/10/2016 18:51:42
Tengo este programa para enviar correo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Imports System.Net.Mail
 
Public Class frmCorreo
    Private Sub btnEnvia_Click(sender As Object, e As EventArgs) Handles btnEnvia.Click
        Dim message As New MailMessage
        Dim smtp As New SmtpClient
 
        With message
            .From = New System.Net.Mail.MailAddress(txtDe.Text)
            .To.Add(txtPara.Text)
            .Body = txtMessage.Text
            .Subject = txtAsunto.Text
            .Priority = System.Net.Mail.MailPriority.Normal
        End With
 
        With smtp
            .EnableSsl = True
            .Port = "587"
            .Host = "smtp.gmail.com"
            .Credentials = New Net.NetworkCredential(txtDe.Text, txtPassword.Text)
            .Send(message)
        End With
 
        Try
            MessageBox.Show("Su mensaje de correo ha sido enviado.", "Correo enviado",
                             MessageBoxButtons.OK)
        Catch ex As Exception
            MessageBox.Show("Error: " & ex.Message, "Error al enviar correo",
                             MessageBoxButtons.OK)
        End Try
    End Sub
End Class

Me da el siguiente error.

Excepción no controlada del tipo System.Net.Mail.SmtpException en System.dll.
Información adicional.
El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta fue 5.5.1 Authentication Required.


Podría alguien indicarme porque se produce este error.

Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Edward
Val: 392
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Enviar correo gmail

Publicado por Edward (146 intervenciones) el 08/10/2016 06:04:24
Buen día para todos,

Ese problema se da porque no has autorizado a tu cuenta de Gmail para que acepte el uso de aplicaciones externas o menos seguras, que quiere decir esto, es un sistema de seguridad de Gmail para evitar suplantación.

Pero como es nuestro caso y nuestra cuenta para utilizarla en nuestra aplicación, podemos desactivar esta opción.

Para lo cual primero accedes a tu cuenta como esta en la siguiente imagen.


sshot-1

Segundo accedes a la opción de aplicaciones y sitios conectados a tu cuenta.

sshot-2

Y por último activas la opción de permitir el acceso aplicaciones menos segura.

sshot-3


Con esto ya puedes enviar correos de Gmail desde tu aplicación.

Espero haber sido ayuda.

Buen día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Enviar correo gmail

Publicado por OCardona (1 intervención) el 13/04/2018 18:19:12
Excelente muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar correo gmail

Publicado por Ivan (1 intervención) el 27/08/2018 22:25:22
Muy buena publicacion, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ERROR

Publicado por david (1 intervención) el 31/07/2020 06:19:25
buenas noches,

con la misma funcion y desactivada la opcion de aplicacion menos segura me da el siguiente error

El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.7.0 Authentication Required. Learn more at

alguien tiene idea de cual es el problema y como solucionarlo, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ERROR

Publicado por melqui (242 intervenciones) el 01/08/2020 18:48:36
Habilita los permisos de aplicaciones no segura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 17 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ERROR

Publicado por Alfonso (3 intervenciones) el 30/09/2020 16:05:10
Pues no, lo he probado una y otra vez y no funciona ni de coña
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ERROR

Publicado por melqui (242 intervenciones) el 30/09/2020 20:10:30
mas lo habilitaste tal como edward te orientó?
si no lo habilitas no te va a funcionar
todo o que necesitas esta en habilitar
1
https://myaccount.google.com/lesssecureapps?pli=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 17 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ERROR

Publicado por Alfonso (3 intervenciones) el 01/10/2020 16:15:03
No encuentro la página de gmail que comentas, la más parecida parece esta, y a partir de aquí no hay nada que se parezca a la tuya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 17 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Enviar correo gmail

Publicado por Alfonso (3 intervenciones) el 01/10/2020 16:13:14
El problema puede ser también (pues a mí me ha pasado) que estés introduciendo una contraseña equivocada.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar correo gmail

Publicado por Lenin Linares (1 intervención) el 09/01/2021 15:46:01
Deberías meter el Try Catch en todo el evento click del botón, donde esta ahora no tiene propósito, dejo ejemplo de como yo lo tengo:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Sub EnviarReportesEmail()
 
    Dim smtp As New System.Net.Mail.SmtpClient
    Dim mensaje As New MailMessage(New MailAddress("alli.reportes@gmail.com"), New MailAddress(frmSETTING.txtClaveEmailCliente.Text))
    'Dim mensaje As New MailMessage(New MailAddress("alli.reportes@gmail.com"), New MailAddress("lenin-linares@hotmail.com"))
 
    '--------------------------------------------------------------------------------------------------------------------------------
    If My.Computer.FileSystem.FileExists("C:\REPORTES\Facturas.PDF") = False Then
        'MsgBox("El archivo NO existe!!")
        Exit Sub
    Else
        'MsgBox("El archivo existe!!")
    End If
    '---------------------------------------------------------------------------------------------------------------------------------
    If My.Computer.Network.IsAvailable() Then
        Try
            If My.Computer.Network.Ping("google.com", 3000) Then
                'MsgBox("Conectado.")
 
                smtp.Host = "smtp.gmail.com"
                smtp.Port = 587
                smtp.EnableSsl = True
                smtp.UseDefaultCredentials = False
                smtp.Credentials = New System.Net.NetworkCredential("reportes@gmail.com", "alli123456")
                '-------------------------------------------------------------------
                mensaje.Subject = "Reporte del negocio: " & Today.ToString
                'MsgBox(mensaje.Subject)
                mensaje.IsBodyHtml = False 'envia el mensaje como html
                mensaje.Attachments.Add(New Attachment("C:\REPORTES\Facturas.PDF"))
                mensaje.Priority = MailPriority.Normal
                '===============================================
 
                Try
                    smtp.Send(mensaje)
 
                Catch ex As Exception
                    MsgBox("Error en My.Computer.Network.Ping")
                End Try
            Else
                'MsgBox("Error de conexión.")
                'MsgBox("PRUEBA ENVIO REPORTE")
                tmrEnviaReporteAuto2.Enabled = True
            End If
        Catch ex As PingException
            'MsgBox("Error de conexión.")
        End Try
    Else
        'MsgBox("No conectado")
    End If
    '******************************************************************
 
    tmrEnviaReporteAuto.Enabled = False
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Guillermo López
Val: 64
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Enviar correo gmail

Publicado por Guillermo López (40 intervenciones) el 21/04/2021 23:31:38
Muchas Gracias.
Agregué la línea 21 y la 23 y funcionó.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar