Envío de formulario por email usando cdonts
He querido aprender como enviar un formulario por email usando asp, conseguí este código que me parece sencillo, usa cdonts, anteriormente probé con aspmail pero me dio problemas porque mis pruebas las hago en una pc win xp pro pero el aspmail me pide que le especifique el dns del server smtp, y esa pc no es un server smtp, pues bien, al probar el código que te pongo abajo, me tira el error:
Objeto Server error 'ASP 0177 : 800401f3'
Error en Server. CreateObject
/segamerica/formemail.asp, line 49
Cadena clase no válida
Que es justamente la linea donde defino el objeto
set oMail=Server.CreateObject("CDONTS.NewMail")
¿Me podes ayudar? A continuación te envío el código completo de la página.
Gracias
<CENTER><H2>Enviar formulario por e-mail</H2></CENTER>
<%
Dim oMail, sDestino, sRemite, sBody, accion
sDestino=Trim(CStr(Request.Form("Para")))
sRemite=Trim(CStr(Request.Form("De")))
sBody=CStr(Request.Form("Cuerpo"))
' Si alguno de los campos está vacío es que no han enviado el formulario
if (sDestino = "" or sRemite = "") then
Formulario
else
MandarMail
end if
'========================================================================================
Sub Formulario
%>
<TABLE BORDER="1" STYLE="background-color: lightgrey; color: black" WIDTH="400" ALIGN="center">
<FORM NAME="Email" ACTION="formemail.asp" METHOD="post">
<TR>
<TD COLSPAN="2">Introduce un email para enviar un mail, y otro para que sea el remitente.
Si quieres, puedes añadir un comentario.</TD>
<TR>
<TD><B>Para:</B></TD>
<TD><INPUT TYPE="text" NAME="Para"></TD>
<TR>
<TD><B>De:</B></TD>
<TD><INPUT TYPE="text" NAME="De"></TD>
<TR>
<TD><B>Comentario:</B></TD>
<TD><TEXTAREA NAME="Cuerpo" WRAP="virtual" ROWS="3" COLS="15"></TEXTAREA></TD>
<TR>
<TD COLSPAN="2"><CENTER>
<INPUT TYPE="submit" VALUE="Enviar Email!">
<INPUT TYPE="reset">
</CENTER>
</TD>
</FORM>
</TABLE>
<%
End Sub 'Formulario
'========================================================================================
Sub MandarMail
'Creamos el objeto
set oMail=Server.CreateObject("CDONTS.NewMail")
'Establecemos sus propiedas
oMail.To=sDestino
oMail.From=sRemite
'Esto lo añado yo :-)
sBody=sBody & VbCrLf & VbCrLf & _
"Este es una demostración de cómo enviar correo electrónico desde una página web. "
sBody=sBody & "Cualquier queja, molestia o preocupación, a [email protected]. "
sBody=sBody & "Esta dirección de correo electrónico no queda guardada de ninguna forma. Www.ASPFacil.com"
'Asignamos el cuerpo del mensaje
oMail.Body=sBody
'Y fuera!
oMail.Send
'Sacamos la basura :-)
set oMail=nothing
Response.Write("El correo electrónico ha sido enviado correctamente a <i>"&sDestino&"</i>.")
End Sub 'MandarMail
%>
<!--FIN DEL SCRIPT -->
Objeto Server error 'ASP 0177 : 800401f3'
Error en Server. CreateObject
/segamerica/formemail.asp, line 49
Cadena clase no válida
Que es justamente la linea donde defino el objeto
set oMail=Server.CreateObject("CDONTS.NewMail")
¿Me podes ayudar? A continuación te envío el código completo de la página.
Gracias
<CENTER><H2>Enviar formulario por e-mail</H2></CENTER>
<%
Dim oMail, sDestino, sRemite, sBody, accion
sDestino=Trim(CStr(Request.Form("Para")))
sRemite=Trim(CStr(Request.Form("De")))
sBody=CStr(Request.Form("Cuerpo"))
' Si alguno de los campos está vacío es que no han enviado el formulario
if (sDestino = "" or sRemite = "") then
Formulario
else
MandarMail
end if
'========================================================================================
Sub Formulario
%>
<TABLE BORDER="1" STYLE="background-color: lightgrey; color: black" WIDTH="400" ALIGN="center">
<FORM NAME="Email" ACTION="formemail.asp" METHOD="post">
<TR>
<TD COLSPAN="2">Introduce un email para enviar un mail, y otro para que sea el remitente.
Si quieres, puedes añadir un comentario.</TD>
<TR>
<TD><B>Para:</B></TD>
<TD><INPUT TYPE="text" NAME="Para"></TD>
<TR>
<TD><B>De:</B></TD>
<TD><INPUT TYPE="text" NAME="De"></TD>
<TR>
<TD><B>Comentario:</B></TD>
<TD><TEXTAREA NAME="Cuerpo" WRAP="virtual" ROWS="3" COLS="15"></TEXTAREA></TD>
<TR>
<TD COLSPAN="2"><CENTER>
<INPUT TYPE="submit" VALUE="Enviar Email!">
<INPUT TYPE="reset">
</CENTER>
</TD>
</FORM>
</TABLE>
<%
End Sub 'Formulario
'========================================================================================
Sub MandarMail
'Creamos el objeto
set oMail=Server.CreateObject("CDONTS.NewMail")
'Establecemos sus propiedas
oMail.To=sDestino
oMail.From=sRemite
'Esto lo añado yo :-)
sBody=sBody & VbCrLf & VbCrLf & _
"Este es una demostración de cómo enviar correo electrónico desde una página web. "
sBody=sBody & "Cualquier queja, molestia o preocupación, a [email protected]. "
sBody=sBody & "Esta dirección de correo electrónico no queda guardada de ninguna forma. Www.ASPFacil.com"
'Asignamos el cuerpo del mensaje
oMail.Body=sBody
'Y fuera!
oMail.Send
'Sacamos la basura :-)
set oMail=nothing
Response.Write("El correo electrónico ha sido enviado correctamente a <i>"&sDestino&"</i>.")
End Sub 'MandarMail
%>
<!--FIN DEL SCRIPT -->
6 respuestas
Respuesta de dacomon
1
Respuesta de ivanin
1
Respuesta de wiseguy44
1
Respuesta de averias33
1
Respuesta
1
Respuesta de pbarrientos
1