如何在SMTPClient.Send [VB.NET]之前测试SMTP连接

时间:2018-12-12 16:06:32

标签: vb.net testing server smtp connection

这里是编程的新手。

我当前正在使用的程序需要发送带有日志的电子邮件。 如果我使用正确的服务器主机,效果很好,但是当我尝试使用“假”服务器主机时,我的程序肯定无法连接,但是它立即崩溃,我无法引发任何异常,无法告诉用户他做错了什么,什么都没有。

所以我想我必须在SMTPClient.Send之前测试连接,但是我似乎找不到如何...

如何在VB.NET中测试SMTP服务器连接?

这就是我正在使用的:

    Try
        Dim SmtpServer As New SmtpClient()
        With SmtpServer
            .EnableSsl = False
            .UseDefaultCredentials = False
            .Credentials = New Net.NetworkCredential(MailUser, MailPassword)
            .Port = 25
            .Host = ServerAdress
        End With

        Dim mail As New MailMessage()
        With mail
            .From = New MailAddress(MailSender)
            .To.Add(MailReceiver)
            .CC.Add(MailCC)
            .Subject = MailObject
            .Body = MailBody
        End With

        SmtpServer.Send(mail)

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

1 个答案:

答案 0 :(得分:0)

1-我认为您应该尝试这样的事情:

gatsby-source-filesystem

2-为了测试您的smtp服务器,本文可能有用: https://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/

3-并且在这个问题的答案中也有一个smtp测试类 .Net TcpClient and SmtpClient won't connect to my Smtp server