Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Correo Aspmail
 Foro Bloqueado  Tema Bloqueado


Autor Temas
Gapot
Starting Member


9 Posts
Mensajes - 07 Feb 2006 :  02:17:39  Ver Perfil  Enviar Email
Hola
Tras vanos intentos durante meses por conseguir un código para utilizar AspMail desde mi página web, como medio de contacto, que realmente funcionara, me topé con el siguiente. Funciona a las mil maravillas. Incluso un medio para que los mensajes enviados no sean tratados como SPAM en el 80% de los casos. Solo tengo un problema que hasta ahora no he podido resolver. La validación de los elementos en el campo de la dirección de correo (email address) no se ejecuta. Por ejemplo: Si alguien escribe "fulano a lo que sea", comoquiera el correo sale. Lo correcto sería que la dirección tuviese que ser correcta: "fulano@loquesea.com". Lo mas curioso es que aún así es recibido el mensaje, excepto Hotmail y AOL !!!! El código es Vbscript.Ésta es la sección para la validación. ¿Que es lo que está mal? Ya traté cambiando todos los "false" a "true". Lo obtuve en:
http://www.brainjar.com

'Define the global list of valid TLDs.

dim validTlds

function IsValidEmailAddress(emailAddr)

dim i, localPart, domain, charCode, subdomain, subdomains, tld

'Check for valid syntax in an email address.

IsValidEmailAddress = true

'Parse out the local part and the domain.

i = InStrRev(emailAddr, "@")
if i <= 1 then
IsValidEmailAddress = false
exit function
end if
localPart = Left(emailAddr, i - 1)
domain = Mid(emailAddr, i + 1)
if Len(localPart) < 1 or Len(domain) < 3 then
IsValidEmailAddress = false
exit function
end if

'Check for invalid characters in the local part.

for i = 1 to Len(localPart)
charCode = Asc(Mid(localPart, i, 1))
if charCode < 32 or charCode >= 127 then
IsValidEmailAddress = false
exit function
end if
next

'Check for invalid characters in the domain.

domain = LCase(domain)
for i = 1 to Len(domain)
charCode = Asc(Mid(domain, i, 1))
if not ((charCode >= 97 and charCode <= 122) or (charCode >= 48 and charCode <= 57) or charCode = 45 or charCode = 46) then
IsValidEmailAddress = false
exit function
end if
next

'Check each subdomain.

subdomains = Split(domain, ".")
for each subdomain in subdomains
if Len(subdomain) < 1 then
IsValidEmailAddress = false
exit function
end if
next

'Last subdomain should be a TDL.

tld = subdomains(UBound(subdomains))
if not IsArray(validTlds) then
call SetValidTlds()
end if
for i = LBound(validTlds) to UBound(validTlds)
if tld = validTlds(i) then
exit function
end if
next
IsValidEmailAddress = false

end function

Gapot
Starting Member


9 Posts
Posted - 07 Feb 2006 :  02:38:08  Ver perfil  Enviar e-mail
Debo aclarar. Lo que no valida es la dirección del REMITENTE. Me llega el mensaje pero, ¿como voy a contestar si alguien entra SU dirección mal?

Inicio Pagina

Gapot
Starting Member


9 Posts
Posted - 12 Feb 2006 :  02:32:38  Ver perfil  Enviar e-mail
Ya lo solucioné. El formulario estaba incorrecto. Las siguientes líneas deben ser:
En el formulario:
<input name="_requiredFields" type="hidden"
value="Name,Lugar,ReplyTo,Subject,Comments" />
<b>Tu E-Mail: </b>
<input name="ReplyTo" type="text" />
<br />
Durante la ejecución del código en el campo
_replyToField (NO REPLYTO) se especifica el nombre de otro campo en el cual se ejecuta la verificación. En este caso sería el campo Email:
'Validar Replyto (email del remitente;Tu Email)
name = Trim(Request.Form("_replyToField"))
if name <> "" then
replyTo = Request.Form(name)
else
replyTo = Request.Form("_replyTo")
end if
if replyTo <> "" then
if not IsValidEmailAddress(replyTo) then
call AddErrorMsg("E-Mail no es válido: " & replyTo &
".")
end if
end if
Mezclar el idioma español con un código en inglés confunde. Un día que tenga tiempo cambiaré Name,Subject y Comments al idioma español. Ah! En Google hay miles haciendo la misma pregunta sobre el ichoso "replyto"

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar