使用Visual Basic发送电子邮件时出错

时间:2016-11-14 21:02:41

标签: vb.net visual-studio email email-client

我正在使用Visual Basic 2010制作电子邮件客户端

这是发送电子邮件的代码:

Try
    Dim SmtpServer As New SmtpClient()
    Dim mail As New MailMessage()
    SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network
    SmtpServer.EnableSsl = True
    SmtpServer.Credentials = New Net.NetworkCredential("********@*********".Trim(), "*************".Trim())
    SmtpServer.Port = 456
    SmtpServer.Host = "smtp.gmail.com"
    mail = New MailMessage()
    mail.From = New MailAddress("inviamentatoreemaille@gmail.com")
    mail.To.Add("************@******")
    mail.Subject = TextBox1.Text
    mail.Body = TextBox2.Text
    SmtpServer.Send(mail)
Catch ex As Exception
    MsgBox(ex.ToString)
End Try

2 个答案:

答案 0 :(得分:0)

GMAIL的SMTP端口是465而不是456

Gmail有2个SMTP端口,除非您有可以使用端口25的G-Suite帐户。

端口465(SSL) 港口587(TLS)

如果您在家中进行编程,大多数INTERNET提供商会阻止SMTP发送端口。

所以你应该做的第一件事是确保你能够通过TELNET连接

打开命令提示符并输入:

 telnet smtp.gmail.com 465
 telnet smtp.gmail.com 587

如果您能够连接到telnet端口,那么您应该能够让代码正常工作以通过它发送邮件。

您的网络凭据必须是您的Gmail帐户:

SmtpServer.Credentials = New Net.NetworkCredential("********@*********".Trim(), "*************".Trim())

所以我假设它更像是:

SmtpServer.Credentials = New Net.NetworkCredential("example@gmail.com", "Password")

答案 1 :(得分:0)

尝试为您的帐户启用不太安全的应用。 https://support.google.com/accounts/answer/6010255?hl=en

干杯, 拉杜