Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Como Saber si una Dirección de Correo es Válida????

Uso D6

Estoy usando un demo de los indy's MailClient que sirve para enviar EMAIL's, pero no he podido encontrar como saber si la Dirección de Correo del Destinatario es VALIDA para serciorarme que le llegará el correo, de lo contrario si es inválido avisarle al usuario que Corrija dicha dirección de correo.

Agradezco cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 26-05-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
¿¿de que este bien escrita. por ejemplo Cuenta@hotmail.com y no
Cuienta@hotmail,com??

¿o de que esa cuenta de correo este activa en el servidor. del correo de
destinatario?
Responder Con Cita
  #3  
Antiguo 26-05-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Smile

Esto es para aeguranos que la sintaxis de la cuenta de correo este
bien escrita. como el primer ejemplo que de di.

Código Delphi [-]
 
function IsValidEmail(const Value: string): Boolean;
 
function CheckAllowed(const s: string): Boolean;
var i: Integer;
begin
Result:= false;
for i:= 1 to Length(s) do
if not (s[i] in ['a'..'z', 
'A'..'Z', 
'0'..'9', 
'_', 
'-', 
'.']) then Exit;
Result:= true;
end;
 
var
i: Integer;
NamePart, ServerPart: string;
begin
Result:= False;
i:=Pos('@', Value);
if i=0 then Exit;
NamePart:=Copy(Value, 1, i-1);
ServerPart:=Copy(Value, i+1, Length(Value));
if (Length(NamePart)=0) or ((Length(ServerPart)<5)) then Exit;
i:=Pos('.', ServerPart);
if (i=0) or (i>(Length(serverPart)-2)) then Exit;
Result:= CheckAllowed(NamePart) and CheckAllowed(ServerPart);
end;

el codigo fuente de un pryecto de muestra. por si no fui claro.
http://greatis.com/delphicb/tips/lib...checkemail.zip
Responder Con Cita
  #4  
Antiguo 26-05-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
No he probado "en vivo" pero me parece que el algoritmo fallaría con algo como:

juanperez@servidor.com.

Donde evidentemente el último punto está de mas.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 26-05-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues yo lo acabo de probar y falla, pues me da valida una dirección de correo terminada en .

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 26-05-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Claro que falla. lo que revisa es si la dirección esta bien escrita.
en las primeras partes antes y despues de la @
juanperez@servidor.com. y eso por que hay ciertas formas de enviar el correo
por ejemplo, algunos componente o dll, para enviar correo
solo admiten o ( , ) o ( ; ) o ambas, indy creo que permite usar dos formas
de separar los destinatarios por ( , ) o ( ; ), no faltara quien crea mejor usar un ( . )
--}
si saben como solucionar ese defecto. decirlo. o los otros posibles que al separar
los destinatarios se vaya un dedo de may se agregen ( ,,) o ( ;; ) o semejantes.

aparte, AgAg4 no dice si es solo verificar, la sintaxis o se refiere a revisar si
la cuenta de correo esta activa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:07:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi