Как проверить SMTP-соединение перед SMTPClient.Send [VB.NET] - PullRequest
0 голосов
/ 12 декабря 2018

Довольно новый для программирования здесь.

Программа, над которой я сейчас работаю, должна отправить электронное письмо с журналами.Отлично работает, если я использую правильный серверный хост, но когда я пытаюсь использовать «ложный» хост-сервер, моя программа не может подключиться, но она сразу же падает, я не могу вызвать ни одного исключения, не могу сказатьПользователь делает что-то не так, ничего.

Так что я думаю, что мне нужно проверить соединение до SMTPClient.Отправить, но я не могу найти, как ...

Как я могу проверитьСоединение SMTP-сервера в VB.NET?

Вот что я использую:

    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 голосов
/ 12 декабря 2018

1- Я думаю, вы должны попробовать что-то вроде этого:

Using tcp As New TcpClient
    Try
      tcp.Connect(ip, 25)
      ' server found
    Catch ex As Exception
      ' server not found
      End Try
    tcp.Close()
  End Using ' tcpclient

2- Для тестирования вашего SMTP-сервера эта статья может быть полезна: https://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/

3-, а также тамтестовый класс smtp в ответах на этот вопрос .Net TcpClient и SmtpClient не будут подключаться к моему серверу Smtp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...