Visual Basic.NET - envio de correo por codigo vb.net

 
Vista:
sin imagen de perfil

envio de correo por codigo vb.net

Publicado por Pablo (7 intervenciones) el 26/06/2022 06:11:32
Estoy realizando una aplicación en vb.net que entre otras cosas, requiere enviar correos electrónicos. Tengo el código que funcionaba hasta mayo del 2022 pero google ahora no permite el acceso a aplicaciones menos seguras y el programa da error cuando intento enviar correo. Adjunto código. Agradezco de antemano


mensaje.From = New MailAddress("mi correo")
mensaje.To.Add("correo receptor")
mensaje.SubjectEncoding = System.Text.Encoding.UTF8
mensaje.Body = "Probando"
mensaje.Subject = "Enviando correo"
mensaje.Priority = MailPriority.Normal
smtp.EnableSsl = False
smtp.Port = 25
smtp.Host = "smtp.gmail.com"
smtp.Credentials = New Net.NetworkCredential("[email protected]", "miclave")
smtp.Send(mensaje)
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 Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 26/06/2022 17:42:09
Hola,

Vengo de te enviar un mail usando mi código VB.Net. Pero, pienso que si no tienes un servidor pop independiente de gmail, tampoco mi codigos funcionaran.
Si el servidor es gmail y que no es todavía posible para modificar el parámetro de la seguridad en la administración del conto, deberás trabajar con las API de Google y utilizar una cadena de identificación NetworkCredential. No conozco como lo funciona.
Debes buscar las informaciones sobre API Google, API GMail, ...

Lo siento ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 26/06/2022 17:53:09
Continuación ...

El problema es el servidor smtp o pop.
Con un servidor diferente de gmail.com, este funciona muy bien, podo enviar de un conto gmail a todo el mundo.

Ejemplo :
Servidor : [email protected] (debo tener autorización de lo utilizar)
Expedidor : [email protected]
Destinatario : [email protected]

En este caso, no problema, sin cadena de identificación NetworkCredential.

Buenas tardes ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

envio de correo por codigo vb.net

Publicado por Pablo (7 intervenciones) el 26/06/2022 22:11:09
Gracias. Lo voy a investigar por ese lado. No sabía de la existencia de esas APÎ de google. 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
sin imagen de perfil

envio de correo por codigo vb.net

Publicado por Pablo (7 intervenciones) el 26/06/2022 23:26:29
Encjontré un video que explica como solucionarlo en la configuración de la cuenta de google. Me funcionó a la perfección. Les comparto el link: https://www.youtube.com/watch?v=rlhtIz_Xl9g
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 26/06/2022 23:47:35
Gracias
Lo miraré también
Buenas noches
..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Sam
Val: 37
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Sam (18 intervenciones) el 28/06/2022 17:19:45
Hola amigos,

He mirado el video y he intentado de hacer como mostrado. He Obtenido una contraseña y he escrita en un codigo para testar.
No funciona. Que puede decirme donde esta la falta ?

Gracias de antemano.

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
Imports System.Net.Mail
Imports System.Text
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Dim Mail As MailMessage = Nothing
        Dim smtp As SmtpClient = Nothing
        Dim Expedidor As String = "qwerty@gmail.com"
        Dim Destinatorio As String = "xyz@yahoo.fr"
        Try
 
            Mail = New System.Net.Mail.MailMessage
            Mail.SubjectEncoding = UTF8Encoding.UTF8
            Mail.BodyEncoding = UTF8Encoding.UTF8
            Mail.Subject = "Prueba Smtp GMail"
            Mail.Body = "Mensaje prueba Smtp GMail " & Now()
            Mail.From = New MailAddress(Expedidor)
            Mail.To.Add(New MailAddress(Destinatorio))
 
            smtp = New SmtpClient()
            smtp.Host = "smtp.gmail.com"
            smtp.Port = 25
            smtp.EnableSsl = False
            smtp.Credentials = New System.Net.NetworkCredential("qwerty@gmail.com", "ptlpipnutlbakxyx") ' contraseña de aplicación dado por Google
 
            Try
                smtp.Send(Mail)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            Mail.Attachments.Clear()
            Mail.Attachments.Dispose()
            Mail.Dispose()
 
        Catch ex As ApplicationException
            MessageBox.Show(ex.Message)
        Finally
            smtp = Nothing
            Try
                Mail.Dispose()
            Catch
            End Try
            Mail = Nothing
        End Try
 
    End Sub
 
End Class
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 Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 28/06/2022 21:32:46
Hola Sam,

Vengo de testar tus códigos y también veo que no funciona. No veo la razón y no tengo mucho tiempo para buscar ...
Pero pienso que has bien hecho como en el video ya que tienes la contraseña.
Espero que Pablo podrás nos explicar ...

Buenas tardes ...
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 Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 29/06/2022 10:06:31
Hola Sam,

He buscado la solucione. Con tus códigos cambiados como este (Port y SSL), funciona muy bien :

1
2
3
4
5
6
7
8
' ...
           smtp = New SmtpClient()
            smtp.Host = "smtp.gmail.com"
            smtp.Port = 567
            smtp.EnableSsl = True
            smtp.Credentials = New System.Net.NetworkCredential("qwerty@gmail.com", "ptlpipnutlbakxyx") ' contraseña de aplicación dado por Google
 
' ...


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Phil Rob (1554 intervenciones) el 29/06/2022 10:11:30
ATENCION ...


El Port es 587 (y no 567) ...

Lo siento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Sam
Val: 37
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

envio de correo por codigo vb.net

Publicado por Sam (18 intervenciones) el 29/06/2022 12:02:04
Este funciona muy bien con el Port = 587.

Muchas gracias Phil.
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