hansoctantan Ответов: 1

Проверка электронной почты с помощью VB.NET (проверьте, существует ли адрес электронной почты).


Всем привет,
Я создаю программу, которая проверяет электронную почту, если она существует. Я нашел код для этого, но когда я пытаюсь его использовать, время выполнения останавливается "ResponseString = reader.ReadLine()"когда программа читает строку ответа.

Ниже приведен код (я только что преобразовал этот t VB.NET исходный код-C#)
Dim server As String = "server.com"
Dim port As Integer = 25
Try
    Dim client As New TcpClient(server, port)
    Dim CRLF As String = "\r\n"
    Dim dataBuffer As Byte()
    Dim ResponseString As String
    Dim netStream As NetworkStream = client.GetStream()
    Dim reader As StreamReader = New StreamReader(netStream)

    'I put a breakoint here
    ResponseString = reader.ReadLine()
    dataBuffer = BytesFromString("HELO HI" + CRLF)
    netStream.Write(dataBuffer, 0, dataBuffer.Length)
    'Code Stops Here
    ResponseString = reader.ReadLine()

    dataBuffer = BytesFromString("MAIL FROM:mailFrom@server.com" + CRLF)
    netStream.Write(dataBuffer, 0, dataBuffer.Length)
    ResponseString = reader.ReadLine()

    dataBuffer = BytesFromString("RCPT TO:rcptTo@server.com" + CRLF)
    netStream.Write(dataBuffer, 0, dataBuffer.Length)
    ResponseString = reader.ReadLine()
    MsgBox(ResponseString)

    'QUIT CONNECTION
    dataBuffer = BytesFromString("QUIT" + CRLF)
    netStream.Write(dataBuffer, 0, dataBuffer.Length)
    client.Close()
Catch ex As Exception
    MsgBox(ex.Message)
End Try


Может ли кто-нибудь написать, почему это происходит..

Спасибо

До сих пор не могу найти ответа....
Ниже приведен источник для отправки, но я хочу проверить, существует ли электронная почта на почтовом сервере или нет...

Kenneth Haugland

VB и строки проблематичны, если вы используете +, вы должны использовать & вместо этого

hansoctantan

то же самое происходит..

[no name]

Он останавливается на этой строке, потому что, вероятно, ждет символа завершения строки.

hansoctantan

это "\r\n"...?

[no name]

Может быть, это или "\n", или "\r", или что-то еще, на что настроен сервер.

hansoctantan

Я стараюсь использовать разные прекращении символ (\n, \р \р\н, \н\р \р\н\р), но все же произошло...

[no name]

Вероятно, потому, что вы гадаете, а не выясняете. Проверьте, возвращается ли что-нибудь вообще, прежде чем пытаться прочитать его. Отладьте его. Узнайте, что сервер на самом деле отправляет обратно.

1 Ответов

Рейтинг:
1

_Amy

Привет,
Ссылаться этот[^] для аналогичного обсуждения.