发送电子邮件失败无法连接远程服务器

Posted

技术标签:

【中文标题】发送电子邮件失败无法连接远程服务器【英文标题】:Fail Sending Email Unable To Connect the Remote Server 【发布时间】:2014-06-15 03:22:04 【问题描述】:

我在发送电子邮件时遇到错误。这是错误

这个异常的实际错误是什么,因为我是新手,顺便说一下,这是我的代码行:

 Try
                Dim SmtpServer As New SmtpClient()
                Dim mail As New MailMessage()

                SmtpServer.Credentials = New  _
                Net.NetworkCredential("test@gmail.com", "passwordexample")
                SmtpServer.EnableSsl = True
                SmtpServer.Port = 587
                SmtpServer.Host = "smtp.gmail.com"

                mail = New MailMessage()
                mail.From = New MailAddress("test@gmail.com")
                mail.To.Add("examplemail@gmail.com")
                mail.Subject = "Change Request Submitted"
                mail.Body = "Dear User, " & Environment.NewLine & Environment.NewLine & Environment.NewLine & Environment.NewLine & "One Notification have been submitted," & Environment.NewLine & "Please check the change request on the intranet application"

//ad this line the error SmtpServer.Send(mail)
                SmtpServer.EnableSsl = True
                MsgBox("Notification emailed successfully")
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try

【问题讨论】:

您的互联网服务提供商是否允许您发送消息? SMTP 通常被阻止。 @jgauffin 她似乎在使用 GMail。要么是两步验证,要么是她没有通过她的帐户启用 POP 或 IMAP。 【参考方案1】:

请看这个答案...

Sending Email from Visual Basic

如果您仍然无法发送电子邮件......

您是否在 Gmail 中启用了 POP 或 IMAP? 登录 Gmail 网络界面。打开“设置”页面上的“转发和 POP/IMAP”标签,然后配置 IMAP 或 POP。在 Gmail 中启用此功能后,请务必点击“保存更改”,以便 Gmail 可以与您的邮件客户端通信。

如果你有两步验证..

获取应用程序专用密码 当您在移动设备或电子邮件软件上设置 Google Mail 时,Google 会自动生成您只需要一次的密码。您可以轻松地为要使用的每台设备或电子邮件软件生成密码。

第 1 步: 在两步验证屏幕底部的应用程序特定密码旁边,单击管理应用程序特定密码。将打开对您的 Google 帐户的授权访问屏幕。

第 2 步: 在授权访问您的 Google 帐户屏幕上,在名称字段中,输入一个名称以帮助您记住您用于访问您的帐户的应用程序,然后单击生成密码。然后,您将看到一个密码,用于配置您的移动设备或电子邮件软件。保持此屏幕打开,直到您准备好输入密码(参见下面的第 4 部分)。使用设备名称创建的密码将显示在底部。使用完密码后,单击完成。

第 3 步: 要为其他设备或电子邮件软件设置密码,只需在名称字段中输入其名称,然后单击生成密码。您将收到另一个密码。

在这里查看更多...

http://www.oit.umass.edu/support/google-apps/configure-google-mail-email-software-mobile-devices

【讨论】:

【参考方案2】:
  Dim SmtpServer As New SmtpClient()
    SmtpServer.Credentials = New Net.NetworkCredential("EMAIL FROM@gmail.com", "YOUR PASSWORD")
    SmtpServer.Port = 25
    SmtpServer.Host = "smtp.gmail.com"
    SmtpServer.EnableSsl = True
    Dim omail As New MailMessage()


    omail.From = New MailAddress("FROM EMAIL @gmail.com", "Message", System.Text.Encoding.UTF8)

    omail.Subject = "test subject"
    omail.To.Add("test@gmail.com")

    SmtpServer.SendAsync(omail, Nothing)

Catch ex As Exception
    MsgBox(ex.ToString)
End Try

如果这不起作用,请尝试 SmtpServer.Port = 587

【讨论】:

587 可能被防火墙@jgauffin 阻止 怎么会有人从你的示例代码中读到这一点?始终说明与原始代码相比,您在答案中所做的更改。否则你没有帮助。 @jgauffin。现在我知道是什么问题..问题是防火墙和端口被阻止..我只是通过代理传递..所以现在电子邮件工作正常感谢你们帮助我并给出解释.xoxo tq 柠檬

以上是关于发送电子邮件失败无法连接远程服务器的主要内容,如果未能解决你的问题,请参考以下文章

“SMTP 连接()失败”。将其配置为从远程主机发送电子邮件时

SQLServer远程连接失败怎么办

云服务器远程连接不上,云服务器远程连接失败是啥原因?

远程连接服务器时,无法连接怎么办?

服务器无法远程连接原因分析

远程连接FTP服务器,无法显示某些文件夹里的文件列表