Enviar E-mails con ASP mediante servidor SMTP

03/06/2004 - 23:14 por Damocles | Informe spam
Hola;
Necesito enviar e-mails desde una pagina asp utilizando el servidor smtp del
mismo equipo. Hasta el momento utilizo este codigo que encontre en una
pagina, pero me da error al crear el objeto, (que no indica nada en la web
de que el objeto no lo traiga windows xp de por si, version profesional
SP1).
El codigo es el siguiente:
<CENTER><H2>Enviar formulario por e-mail</H2></CENTER>
<%

'Plantilla ASP por Carlos de la Orden Dijs
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")
'al crear este objeto me da error.^

'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
contacto@aspfacil.com. "
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 -->

Este es el codigo tal cual, seguramente fallara en alguna tonteria.
de todas formas el servidor smtp parece estar bien configurado, ya que puedo
enviar e-mails utilizando telnet sin problemas.

Saludos.

Preguntas similare

Leer las respuestas

#1 Franco Figún
03/06/2004 - 23:55 | Informe spam
Hola
1) Tenes permisos de ejecucion sobre la librería CDO, en el servidor?
2) El sitio tiene permisos de SCRIPT, IUSR_tuserver sobre el IIS y sobre la
carpeta dentro de INETPUB/WWWROOT?
3) Tu servidor de SMTP, por casualidad, no requerira autentifiacion?

Fijate los 3 puntos de arriba, y luego prueba este simple codigo:

<%
Set Mail = Server.CreateObject("Persits.MailSender")
'Mail.Username = "user"
'Mail.Password = "pass"
Mail.Host = "smtp.dominio.com.ar" ' Specify a valid SMTP server
Mail.From = "" ' Specify sender's address
Mail.FromName = "Nombre" ' Specify sender's name

Mail.AddAddress ""
Mail.AddReplyTo ""

Mail.Subject = "Subject"
Mail.Body = "Cuerpo del mensaje

'On Error Resume Next
Mail.Send
If Err <> 0 Then
Response.Write "An error occurred: " & Err.Description
Response.Write "An error occurred: " & Err.number
End If
%>

FF
www.francofigun.com.ar
www.microsofties.com.ar
MSN:
UIN: 314408886
Yahoo MSN:

"Damocles" wrote in message
news:uxh9D$
Mostrar la cita
del
Mostrar la cita
'==> > Sub Formulario
Mostrar la cita
sea
Mostrar la cita
'==> > Sub MandarMail
Mostrar la cita
página
Mostrar la cita
puedo
Mostrar la cita
#2 Damocles
04/06/2004 - 14:29 | Informe spam
Muchas gracias, asi si me envia e-mails, pero mas que nada por curiosidad,
que fallaba en el codigo que utilizaba en otro objeto para enviar el e-mail
(hombre a mi me da = utilizar uno u otro) [Set Mail Server.CreateObject("Persits.MailSender")] y [set
oMail=Server.CreateObject("CDONTS.NewMail")].

Saludos.
Por cierto Franco Figún sabes programar consultas con visual basic.net sobre
bases de datos Access para pocket pc?.

"Franco Figún" escribió en el mensaje
news:
Mostrar la cita
la
Mostrar la cita
web
Mostrar la cita
'==> > > > Sub Formulario
Mostrar la cita
'==> > > > Sub MandarMail
Mostrar la cita
#3 Damocles
04/06/2004 - 14:29 | Informe spam
Muchas gracias, asi si me envia e-mails, pero mas que nada por curiosidad,
que fallaba en el codigo que utilizaba en otro objeto para enviar el e-mail
(hombre a mi me da = utilizar uno u otro) [Set Mail Server.CreateObject("Persits.MailSender")] y [set
oMail=Server.CreateObject("CDONTS.NewMail")].

Saludos.
Por cierto Franco Figún sabes programar consultas con visual basic.net sobre
bases de datos Access para pocket pc?.

"Franco Figún" escribió en el mensaje
news:
Mostrar la cita
la
Mostrar la cita
web
Mostrar la cita
'==> > > > Sub Formulario
Mostrar la cita
'==> > > > Sub MandarMail
Mostrar la cita
#4 antonio periago
07/06/2004 - 19:50 | Informe spam
la diferencia es que se usan objetos diferentes. el MailSender de Persits
corresponde al ASPEmail (www.aspemail.com) y el NewMail de CDONTS
corresponde a una librería que viene con el sistema operativo (Collaboration
Data Objects for Microsoft Windows NT Server).


HOWTO: Use CDONTS to Collect and Mail Information From a User
http://support.microsoft.com/defaul...-US;186204

un saludo,
antonio periago



"Damocles" escribió en el mensaje
news:uNNQr%
Mostrar la cita
e-mail
Mostrar la cita
sobre
Mostrar la cita
smtp
Mostrar la cita
profesional
Mostrar la cita
formulario
Mostrar la cita
'==> > > > > > Sub Formulario
Mostrar la cita
que
Mostrar la cita
'==> > > > > > Sub MandarMail
Mostrar la cita
de
Mostrar la cita
Ads by Google
Search Busqueda sugerida