Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Internet
Register FAQ Members List Calendar Guía de estilo Today's Posts

Colaboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 26/05/2005
AGAG4's Avatar
AGAG4 AGAG4 is offline
Miembro
 
Join Date: Aug 2004
Location: Los Mochis, Sinaloa, México
Posts: 1,420
Poder: 24
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.
Reply With Quote
  #2  
Old 26/05/2005
JXJ JXJ is offline
Miembro
 
Join Date: Apr 2005
Posts: 2,475
Poder: 24
JXJ Va por buen camino
¿¿de que este bien escrita. por ejemplo [email protected] y no
Cuienta@hotmail,com??

¿o de que esa cuenta de correo este activa en el servidor. del correo de
destinatario?
Reply With Quote
  #3  
Old 26/05/2005
JXJ JXJ is offline
Miembro
 
Join Date: Apr 2005
Posts: 2,475
Poder: 24
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
Reply With Quote
  #4  
Old 26/05/2005
jachguate's Avatar
jachguate jachguate is offline
Miembro
 
Join Date: May 2003
Location: Guatemala
Posts: 6,254
Poder: 30
jachguate Va por buen camino
No he probado "en vivo" pero me parece que el algoritmo fallaría con algo como:

[email protected].

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
Reply With Quote
  #5  
Old 26/05/2005
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: 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
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #6  
Old 26/05/2005
JXJ JXJ is offline
Miembro
 
Join Date: Apr 2005
Posts: 2,475
Poder: 24
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 @
[email protected]. 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.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 01:52.


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