3

MailKit在尝试使用and发送电子邮件MimeKit时,我收到以下错误:

无法从传输连接中读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。

我正在使用的 vb.net 代码:

Dim mail As New MimeMessage()
mail.From.Add(New MailboxAddress("John DOE", "john.doe@hotmail.com"))
mail.To.Add(New MailboxAddress("Mary JANE", "mary.jane@yahoo.com"))
mail.Subject = "Hello!"
Dim sText As New TextPart("plain")
sText.SetText("UTF-8", "How are you Jane?")
mail.Body = sText

Using smtp = New SmtpClient()
    smtp.LocalDomain = "XX.XXX.XX.XXX"
    smtp.Connect("server33.somewebhosting.com", 465, False)
    smtp.Authenticate("myusername@somewebhosting.com", "XXXXXXXXXXXXXX")
    smtp.Send(mail)
    smtp.Disconnect(True)
End Using

超时错误发生在这一行:

smtp.Connect("server33.somewebhosting.com", 465, False)

奇怪的是它可以在我的家用电脑上运行,但不能在工作中使用。

您认为问题的原因是什么?

4

1 回答 1

3

SMTP 端口 465 是 SSL 端口,因此第三个参数Connect()应该是True,不是False。换句话说,将代码更改为:

smtp.Connect("server33.somewebhosting.com", 465, True)

如果更改后 SmtpClient 仍然无法连接,则表示服务器无法访问。

要诊断问题:

  1. 联系您的管理员,确保主机名和端口正确无误
  2. 确保您不在阻止您连接的防火墙后面
  3. 确保 SMTP 服务器确实在线
于 2015-07-25T14:29:00.920 回答