VB .Net使用Gmail帐户发送电子邮件

时间:2010-09-01 06:59:14

标签: vb.net smtp gmail

为什么会暂停?

Dim s As New SmtpClient
s.Host = "smtp.gmail.com"
s.Port = 465
s.EnableSsl = True
s.Timeout = 5000
s.Credentials = New NetworkCredential("my.name@gmail.com", "mypassword")

Dim m As New MailMessage
m.To.Add("my.name@gmail.com")
m.From = New MailAddress("my.name@gmail.com")
m.Body = "Test Message"
m.Subject = "Test Subject"
s.Send(m)

这些设置直接来自我的Outlook Express测试设置,它可以发送正常。

设置真的很长超时=什么都不做

将端口号更改为587或25 =不执行任何操作

有人认为:Outlook Express有一个“我的服务器需要身份验证”选项,我无法看到与SmtpClient明显相同的选项。它可能与此有关吗?

提前致谢

戴夫

- 关于Fedang的Trindaz#vb.net-smtp

2 个答案:

答案 0 :(得分:1)

修改:您可能需要在以s.UseDefaultCredentials = False

开头的行之前添加以下行:s.Credentials...

您是否有运行防火墙或某种可能会阻止连接的防病毒程序?

一个好的起点是从命令行进行简单的连接。

telnet smtp.gmail.com 465

注意,根据Windows版本,您可能必须先启用telnet客户端,有关详细信息,请参阅此link

答案 1 :(得分:-2)

您必须进入您的Gmail帐户并为不太安全的应用启用访问权限并将端口更改为587