Foros del Web » Programando para Internet » ASP Clásico »

Enviar email

Estas en el tema de Enviar email en el foro de ASP Clásico en Foros del Web. Hola, a ver si me puede aconsejar algo. Tengo el siguiente codigo: Código HTML: <% var CdoMail = Server.CreateObject("CDO.Message"); CdoMail.From = Request.Form("email"); CdoMail.To = [email protected]; ...
  #1 (permalink)  
Antiguo 08/10/2008, 10:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Enviar email

Hola, a ver si me puede aconsejar algo.
Tengo el siguiente codigo:

Código HTML:
<% 
var CdoMail = Server.CreateObject("CDO.Message");
CdoMail.From = Request.Form("email");
CdoMail.To = [email protected];
CdoMail.Subject = "Prueba";
Mensaje = '<font face="Arial,Helvetica" size=2>Prueba</font><br>';
Mensaje += '<font face="Arial,Helvetica" size=2>' + Request.Form("texto") + '</font>';
CdoMail.HTMLBody = Mensaje;
CdoMail.Send();
CdoMail = null;
%> 
esto es un ejemplo de lo que tengo. El problema es que muchas veces, ante distintos servidores donde manda el email (acá puse una direccion de ejemplo como [email protected]) pero muchas veces me llegan rebotados coom diciendo que no se pudo enviar por diferentes motivos, como por ejemplo:

Cita:
Diagnostic-Code: smtp;501 Domain must resolve

Diagnostic-Code: smtp;554 5.7.1 Relay access denied

Diagnostic-Code: smtp;533 demasiados usuarios de correo desconocidos (#5.3.3)

Action: failed Status: 5.4.0

Diagnostic-Code: smtp;500 Message rejected because it contains links to an IP address that is blacklisted
entonces mi pregunta es si tengo que poner algo mas en donde mando el mail ??, como ser autenticacion, o algun comando que desconozco donde sea mas seguro el envio y no me rebote tanto.

Bueno, perdón por lo largo y desde ya muchas gracias a quien pueda ayudarme.
  #2 (permalink)  
Antiguo 08/10/2008, 22:44
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Enviar email

... pero al parecer la ip, de donde mandas tus correos esta dentro de la lista negra de spam
Cita:
Diagnostic-Code: smtp;500 Message rejected because it contains links to an IP address that is blacklisted
es un servidor propio o es de pago??

por que en ese sentido, tus correos o los de tus clientes, estarian condenados a llegar a medias, o incluso no llegar a ningun lado

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 09/10/2008, 05:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

es un servidor pago y tengo contratado un plan no Linux (para paginas PHP), sino NT para poder hacer ASP.

Por eso iba mi consulta, porque me parece raro que lleguen de 100 cuentas diferentes donde manda el mail, la mitad me llega rebotado por esos diferentes errores que comenté antes.

Entonces mi pregunta se basaba en preguntar si hay alguna forma mas segura, algun comando que es importante poner y yo no lo hago, o un envio de emaik mediante ASP mejor preparado y que llegue mejor el envío; ya que esta forma me trae mucho dolor de cabeza.

Gracias por la respuesta.
Saludos.
  #4 (permalink)  
Antiguo 09/10/2008, 09:13
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

ummm pues creo que buscar un poco mas en google sobre cada error para ir evacuando


Cita:
+Diagnostic-Code: smtp;501 Domain must resolve
+ Diagnostic-Code: smtp;554 5.7.1 Relay access denied
+ Diagnostic-Code: smtp;533 demasiados usuarios de correo desconocidos (#5.3.3)
+ Action: failed Status: 5.4.0
+ Diagnostic-Code: smtp;500 Message rejected because it contains links to an IP address that is blacklisted
Algunos de los errores se arreglan enviando el correo con una cuenta autenticada al servidor de envió, dado que así reconocen que fue enviado el correo con una cuenta valida de el servidor que dice estarla enviando

Cita:
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "info@mycompa
lee mas información en:

http://www.motobit.com/tips/detpg_email-asp-external/


la otra es verificar que el envió lo haces de uno en uno con un ciclo

lee un poco:
http://soporte.soportefeliz.com/inde...barticleid=222

http://www.sitioshispanos.com/pregun...l/ver-pregunta
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 09/10/2008, 21:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Claro, eso precisamente es lo que quiero saber, como hacer para autenticar los correos que salen desde ASP, ya que solo lo hago asi por el momento:

Código HTML:
<% 
var CdoMail = Server.CreateObject("CDO.Message");
CdoMail.From = Request.Form("email");
CdoMail.To = [email protected];
CdoMail.Subject = "Prueba";
Mensaje = '<font face="Arial,Helvetica" size=2>Prueba</font><br>';
Mensaje += '<font face="Arial,Helvetica" size=2>' + Request.Form("texto") + '</font>';
CdoMail.HTMLBody = Mensaje;
CdoMail.Send();
CdoMail = null;
%> 
lo que no entendí bien es el tema de los links que enviaste, sigo sin saber como hacer para autenticar un email enviado por ASP, podrías hacer un ejemplo sobre ese codigo que puse ??

Muchas gracias igualmente y muy amable.
  #6 (permalink)  
Antiguo 31/10/2008, 15:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Nadie sabe como hacer para enviar un formulario indicando nombre de usuario y la clave ?, como para autenticar el correo indicando la clave y el usuario.

Supongo que de esta forma dejará de llegar a algunos servidores como spam.

Desde ya muchas gracias igualmente.

  #7 (permalink)  
Antiguo 09/12/2008, 13:14
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Me parece que mi consulta no tuvo exito.

Nadie sabe como hacer para enviar un formulario indicando nombre de usuario y la clave de mi cuenta pop3 de un hosting mio?, digo esto como para autenticar el correo indicando la clave y el usuario y supongo que de esta forma dejará de llegar a algunos servidores como spam, ya que viene autenticado.

Desde ya muchas gracias igualmente.
  #8 (permalink)  
Antiguo 09/12/2008, 13:21
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

leistes los enlaces que te deje?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 10/12/2008, 15:30
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Si los leis, pero no entiendo nada. O están en inglés, o no dicen nada al respecto... entonces se me complica mucho poder seguir esos links.

Igualmente te estoy muy agradecido, pero de inglés no entiendo nada.

Gracias
  #10 (permalink)  
Antiguo 10/12/2008, 16:14
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

Cita:
Iniciado por Jamati Ver Mensaje
Me parece que mi consulta no tuvo exito.

Nadie sabe como hacer para enviar un formulario indicando nombre de usuario y la clave de mi cuenta pop3 de un hosting mio?, digo esto como para autenticar el correo indicando la clave y el usuario y supongo que de esta forma dejará de llegar a algunos servidores como spam, ya que viene autenticado.

Desde ya muchas gracias igualmente.
primer enlace de mi post:
http://www.motobit.com/tips/detpg_email-asp-external/

You can also specify authentication properties for the smtp session using smtpauthenticate and sendusername + sendpassword:
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
:)
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 10/12/2008, 22:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Si, no los entiendo bien... hay mucha sintaxis y creo que me sería innecesario tanto... no entiendo muy bien de lo que esta hablando.

Perdón por la molestia, pero sinceramente te agradezco muchísimo que me sigas contestando. Tu no tienes un ejemplo muy sencillo armado como para mirarlo ?
  #12 (permalink)  
Antiguo 11/12/2008, 07:58
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

tomando como fuente este post [puesto por el maestro: Muzztein ]:
http://www.forosdelweb.com/f15/bibli...ml#post2647708


podríamos adaptar algo no?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #13 (permalink)  
Antiguo 11/12/2008, 10:23
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Gracias nuevamente por responder.
Estuve viendo el codigo del Sr. Muzztein, pero en el mismo no encuentro el lugar donde pone el usuario y clave de la cuenta pop3 como para que sea un email con autenticación.

Puede ser que no lo esté usando ?
  #14 (permalink)  
Antiguo 11/12/2008, 11:11
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

código


Código asp:
Ver original
  1. function enviaEmail(para,cc,desde,asunto,mensaje,servidor)
  2.     on error resume next
  3.  
  4.     enviaEmail = false
  5.    
  6.     dim objCDO,objCDOConfig,objFields
  7.     Set objCDO      = CreateObject("CDO.Message")
  8.     Set objCDOConfig  = CreateObject("CDO.Configuration")
  9.     Set objFields    = objCDOConfig.Fields
  10.        
  11.     With objFields
  12.       .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = servidor
  13.       .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
  14.       .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
  15.       .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
  16.       .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
  17.       .Update
  18.     End With
  19.    
  20.     With objCDO
  21.       .Configuration  = objCDOConfig
  22.       .To          = para
  23.    
  24.     if cc <> false then
  25.       .cc          = cc
  26.     end if  
  27.    
  28.       .From        = desde
  29.       .Subject     = asunto
  30.       .TextBody    = mensaje
  31.       .Send
  32.     End With
  33.    
  34.     Set objFields = Nothing
  35.     Set objCDO = Nothing
  36.     Set objCDOConfig = Nothing
  37.    
  38.     if err.number = 0 then
  39.         enviaEmail = true
  40.     else
  41.         enviaEmail = err.description
  42.     end if
  43.     on error goto 0
  44.  
  45. end function


bueno seria que hicieras tus pruebas de código, así saldría mas fácil ayudarte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #15 (permalink)  
Antiguo 15/12/2008, 11:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Gracias, pero no logro dar con la tecla.

Si yo tengo algo armado así:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@LANGUAGE="JAVASCRIPT"%>
<% var consulta = Request.QueryString("consulta"); %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<% if (consulta == "ok"){ %>
<% 
var CdoMail = Server.CreateObject("CDO.Message");
CdoMail.From = Request.Form("email");
CdoMail.To = [email protected];
CdoMail.Subject = "Asunto";
Mensaje = 'MENSAJE QUE LLEGA POR EMAILLLL';
CdoMail.HTMLBody = Mensaje;
CdoMail.Send();
CdoMail = null;
%>
<% } else { %>
<script language="JavaScript">function enviar(){Contacto.submit();}</script>
<form action="prueba.asp?consulta=ok" method="post" name="Contacto">
  <span>Nombre:</span><input name="nombre" type="text" maxlength="25">
  <span>Email:</span><input name="email" type="text" maxlength="250">
  <br>
  <br>
  <a href="javascript:enviar()" class="enviar">ENVIAR</a>
</form>
<% } %>
</body>
</html> 
Donde y como pongo el código que tu me has pasado ??
  #16 (permalink)  
Antiguo 17/12/2008, 15:57
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Puedes ayudarme JuanRAPerez ??
  #17 (permalink)  
Antiguo 18/12/2008, 08:09
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

oki

reemplaza tu codigo
<%
var CdoMail = Server.CreateObject("CDO.Message");
CdoMail.From = Request.Form("email");
CdoMail.To = [email protected];
CdoMail.Subject = "Asunto";
Mensaje = 'MENSAJE QUE LLEGA POR EMAILLLL';
CdoMail.HTMLBody = Mensaje;
CdoMail.Send();
CdoMail = null;
%>

coloca la función en esa parte de el código

luego la llamas asi

enviaEmail([email protected],tucuetna@domini o.com,[email protected],"prueba de correo","Este es una prueba de correo","mail.tudominio.com")

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #18 (permalink)  
Antiguo 18/12/2008, 18:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Lo pruebo y te cuento, muchísimas gracias.

Pero para probarlo bien, si yo tengo el botón de enviar así:
<a href="javascript:enviar()" class="enviar">ENVIAR</a>

como hago para qeu al pulsar ese link llame a la funcion ?. perdona si pregunto tonterías, pero no domino bien el ASP.

Muchas gracias en serio.
  #19 (permalink)  
Antiguo 19/12/2008, 13:32
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Enviar email

Hola

Saca todo el código de la función e insertalo donde te dijo JuanRa

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #20 (permalink)  
Antiguo 13/01/2009, 11:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Estuve haciendo pruebas:

Tengo este codigo por ahora, que ni siquiera me carga y me tira errores:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
function enviaEmail(para,cc,desde,asunto,mensaje,servidor)
 on error resume next

 enviaEmail = false
 
 dim objCDO,objCDOConfig,objFields
 Set objCDO = CreateObject("CDO.Message")
 Set objCDOConfig *= CreateObject("CDO.Configuration")
 Set objFields * *= objCDOConfig.Fields
 
 With objFields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = servidor
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mi mail"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "la clave"
 .Update
End With
 
 With objCDO
 .Configuration *= objCDOConfig
 .To = para

 if cc <> false then 
 .cc = cc
 end if 
 
 .From = desde
 .Subject = asunto
 .TextBody = mensaje
 .Send
 End With
 
 Set objFields = Nothing
 Set objCDO = Nothing
 Set objCDOConfig = Nothing 
 
 if err.number = 0 then
 enviaEmail = true
 else 
 enviaEmail = err.description
 end if
 on error goto 0

end function
%>

<script language="JavaScript">function enviar(){Contacto.submit();}</script>
<form action="email.asp" method="post" name="Contacto">
  <span>Nombre:</span><input name="nombre" type="text" maxlength="25">
  <span>Email:</span><input name="email" type="text" maxlength="250">
  <br>
  <br>
  <a href="enviaEmail([email protected],[email protected],[email protected],"gran asunto","Este es una prueba de correo","mail.midominio.com")">ENVIAR</a>
</form>
</body>
</html> 
Como lo puedo ir arreglando ?
Es bastante complicado esto de mandar un email desde un formulario autenticicado... ajajaj igualmente gracias a los que puedan ayudarme.

Saludos
  #21 (permalink)  
Antiguo 13/01/2009, 13:59
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Enviar email

ummmmm
es una funciona asp tienes que ejecutarla como asp

Código asp:
Ver original
  1. <%
  2. enviaEmail("[email protected]","[email protected],[email protected]","gran asunto","Este es una prueba de correo","mail.midominio.com")
  3. %>

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #22 (permalink)  
Antiguo 14/01/2009, 06:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Enviar email

Gracias por la respuesta. Me sale este error:
---------------------------
Tipo de error:
Error de compilación de Microsoft VBScript (0x800A0408)
Carácter no válido
/estasenargentina/email.asp, línea 9
on error resume next

---------------------------

El código me quedó así:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
function enviaEmail(para,cc,desde,asunto,mensaje,servidor)
 on error resume next

 enviaEmail = false
 
 dim objCDO,objCDOConfig,objFields
 Set objCDO = CreateObject("CDO.Message")
 Set objCDOConfig = CreateObject("CDO.Configuration")
 Set objFields = objCDOConfig.Fields

 With objFields
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = servidor
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mi mail"
 .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "la clave"
 .Update
 End With
 
 With objCDO
 .Configuration *= objCDOConfig
 .To = para

 if cc <> false then 
 .cc = cc
 end if * 
 
 .From = desde
 .Subject  = asunto
 .TextBody = mensaje
 .Send
 End With

 Set objFields = Nothing
 Set objCDO = Nothing
 Set objCDOConfig = Nothing 

 if err.number = 0 then
 enviaEmail = true
 else 
 enviaEmail = err.description
 end if
 on error goto 0

end function
%>

<script language="JavaScript">function enviar(){Contacto.submit();}</script>
<form action="email.asp" method="post" name="Contacto">
  <span>Nombre:</span><input name="nombre" type="text" maxlength="25">
  <span>Email:</span><input name="email" type="text" maxlength="250">
  <br>
  <br>
  <a href="<%enviaEmail([email protected],[email protected],[email protected],"gran asunto","Este es una prueba de correo","mail.midominio.com")%>">ENVIAR</a>
</form>
</body>
</html> 
Por favor, si sabes como solucionarlo, puedes modificar directamente el código??... porque n oentiendo mucho tus correcciones y vamos a estar una eternidad para ponernos de acuerdo jaajaj

Te cuento que en el botón ENVIAR, en el link le puse <% %> como para que sea ASP, al menos eso es lo que te entendí.

Saludos y muchísimas gracias.
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 23:12.