Este código de VBA serve de complemento ao postado antes, que verifica a sintaxe. Já este valida se o domínio é válido. Preparado para rodar com domínios .br, mas com pequeno ajuste funcionaria com os domínios .com também.
Sub email()
Dim txtEmail As String
txtEmail = InputBox("Digite o endereço", "Endereço de e-mail")
Dim ObjXML
Dim ResultadoConsulta
Dim Situacao
If IsEmailValid(txtEmail) Then
Dominio = Split(txtEmail, "@")
If Len(Dominio(1)) < 9 Then
Situacao = "Error ! The domain must have at least 3 characters"
ElseIf Len(Dominio(1)) > 32 Then
Situacao = "Error ! The domain must have at the maximum 26 characters"
Else
Set ObjXML = CreateObject("Microsoft.XMLHTTP")
ObjXML.Open "GET", "http://registro.br/cgi-bin/nicbr/whois?qr=" & Dominio(1), False
ObjXML.Send
ResultadoConsulta = ObjXML.ResponseText
If InStr(1, ResultadoConsulta, "Domínio inexistente") Then
Situacao = "Disponível para registro"
ElseIf InStr(1, ResultadoConsulta, "Consulta inválida") Then
Situacao = "Erro! Sintaxe inválida "
Else
Situacao = "Domínio de e-mail válido"
End If
End If
Else
Situacao = "Sintaxe de e-mail inválida!"
End If
' Mostra resultado
MsgBox Situacao
End Sub