Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

validar email consultando dominio

Estas en el tema de validar email consultando dominio en el foro de Oracle en Foros del Web. Hola a todos, necesito validar los emails de la base de datos, consultando si existe máquina de correo de un dominio dado, para ello necesito ...
  #1 (permalink)  
Antiguo 31/05/2011, 00:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 13 años
Puntos: 0
validar email consultando dominio

Hola a todos,
necesito validar los emails de la base de datos, consultando si existe máquina de correo de un dominio dado, para ello necesito consultar los registros dns para ver si existe alguno mx, alguien sabe como hacerlo con oracle??, si existe alguna función o algo así, se que en algunos lenguajes existe, por ejemplo en php la función getmxrr, también me valdría en java, así crearía un java source.

Muchas gracias
  #2 (permalink)  
Antiguo 01/06/2011, 15:21
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: validar email consultando dominio

Desde dentro de la base de datos, lo que puedes hacer es, sabiendo de antemano la IP o nombre del servidor de correo, intentar enviar un mensaje con el paquete UTL_SMTP o UTL_MAIL y capturar cualquier excepción que te venga si la dirección de correo no existe, de todos modos, esto puede ser un método insuficiente, ya que solo puedes, en el mejor de los casos, validar la dirección de origen, no la de destino.

Si lo quieres hacer por php, java, etc, deberías preguntar en el foro que toca.

Saludos
  #3 (permalink)  
Antiguo 02/06/2011, 01:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 13 años
Puntos: 0
Respuesta: validar email consultando dominio

Hola Matanga,
muchas gracias por contestar.
Ya probé a hacerlo con UTL_SMTP. Esto fue lo que probé:

DECLARE
v_From VARCHAR2(80) := '[email protected]';
v_Recipient VARCHAR2(80) := '[email protected]';
v_Subject VARCHAR2(80) := 'PRUEBA';
v_Mail_Host VARCHAR2(30) := 'gmail.com';
v_Mail_Conn utl_smtp.Connection;
crlf VARCHAR2(2) := chr(13)||chr(10);
BEGIN
v_Mail_Conn := utl_smtp.Open_Connection(v_Mail_Host, 25);

utl_smtp.Helo(v_Mail_Conn, v_Mail_Host);

utl_smtp.Quit(v_mail_conn);

EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
dbms_output.put_line('Unable to send mail: '||sqlerrm);
--raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);
END;

Pensé que si utl_smtp.Helo no me daba error era porque existía.

Pero me dijo un compañero que realmente en v_Mail_Host tendría que poner la ip o el nombre de la máquina de correo, como me has dicho tu, y claro eso es exactamente lo que intento averiguar a partir de una dirección de email.

Entonces, ¿crees que no hay ninguna manera de hacerlo?

Muchas gracias
  #4 (permalink)  
Antiguo 03/06/2011, 15:29
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: validar email consultando dominio

No, este caso no es posible. Desde la base de datos con PL/SQL no se puede obtener información sobre la ip o nombre del servidor de correo teniendo como único dato una dirección de correo. Las consultas a un servidor DNS se hacen con el protocolo UDP y Oracle solo tiene soporte para conexiones TCP.

Sin duda, esto lo tendrás que resolver a nivel de aplicación, no en la base de datos.

Saludos
  #5 (permalink)  
Antiguo 05/06/2011, 09:40
 
Fecha de Ingreso: enero-2010
Mensajes: 29
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: validar email consultando dominio

> Las consultas a un servidor DNS se hacen con el protocolo UDP y Oracle solo tiene soporte para conexiones TCP.

Most DNS servers support both UDP and TCP queries. (Find out by "nslookup", "set vc", "set q=mx", "example.com.")

It may be possible to use the utl_tcp package to construct such TCP queries to fetch the MX record. I won't be surprised if support.oracle.com already has such Q&A.
  #6 (permalink)  
Antiguo 06/06/2011, 03:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 13 años
Puntos: 0
Respuesta: validar email consultando dominio

Ok, muchas gracias a los dos.

Etiquetas: email, dominios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:19.