我正在使用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
答案 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
干杯, 拉杜