mandar un email

24/10/2005 - 07:04 por Enrique | Informe spam
hola a todos,

quisiera saber como se puede mandar un email con ASP. el MAILTO permite que
el usuario me mande un email, pero ¿como hago yo para mandarle a el, para
recordarle su password por ejemplo?

he visto en internet codigo con el uso de un componente CDONT pero este
componente debe estar en el servidor. ¿es un componente propio de IIS?¿es de
terceros?¿es una buena tecnica usar este componente?¿es mejor actuar de otra
forma?¿conoceis otros componentes que sean interesantes de usar?

otras preguntas:
¿que tal con los vinculos dentro de los emails?¿los vinculos se crean solos
con tal de escribir una direccion web o de correo electronico o hay que
hacer algo especial?

¿como se pueden mandar emails en formato HTML?¿es mas complicado?¿como se
hace?


muchas gracias de antemano por su ayuda

Preguntas similare

Leer las respuestas

#6 dani castillo
24/10/2005 - 17:25 | Informe spam
Uyu te metes en temas mas complejos ;)


"Enrique" escribió en el mensaje
news:
hola jorge,



(...)> lo primero, mientras hacemos eso de forma local contra nuestro IIS
(servicio
SMTP incluido), todo perfecto pero ¿que pasa con nuestro proveedor de
hospedaje?¿todos suelen tener ya estos componentes instalados para que
funcione correctamente? (...)>



suelen tener alguno (al menos los serios, si soportan asp suelen soportar
acceso a base de datos y envio de mails... que menos!) , en caso de no
tenerlo y dependiendo del "buen rollo" te lo pueden llegar a instalar si es
un componente gratuito, pero mejor no fiarte, como te han dicho, un include,
y hablar con el proveedor lo antes posible

a parte de eso, me gustaria saber si existe una forma nativa, aunque mas
compleja que permita mandar el email. quiero decir: los productos de
terceros estan programados de algun forma, supongo que se programaran en
ASP
tambien.



No, un envio de mails necesita una conexion tcp/ip por sockets con el
servidor, no es realmente compleja, pero asp no soporta de forma nativa los
sockets :|

otra pregunta: ¿sabes tratar cuando un email no es correcto? por
incorrecto,
no entiendo un problema de formato (eso es problema de validacion) sino
que
se intente mandar un email y simplemente no exista. ¿existe alguna forma
de
distinguir que un email no existe o que hay simplemente un problema de
servidor?
por ejemplo, si se pudiera detectar que si existe el email pero hay
problema
en el servidor, podriamos pensar en mandar el email mas tarde y eso de
forma
sucesiva hasta que se mande el email de forma efectiva.




No existe de forma sencilla, un problema de servidor (inaccesible
momentaneamente) es realmente indistinguible de por ejemplo un dominio fuera
de servicio, un servidor "accesible" puede contestar a un mail
inmediatamente... pero no tiene porque hacerlo, y puede contestar si un
usuario es de su dominio, pero de nuevo no necesariamente y de nuevo
necesitarias sockets para hacerlo =(

de todas formas, los servidores estan ya programados con reintentos, si tu
envias por aspmail (o cdonts) un email a un usuario, lo que te valida el asp
es que tu lo has enviado a tu servidor de smtp, tu servidor es el que se
encarga luego de entregarlo al servidor de destino , y suelen programarse
con varios reintentos cada x tiempo, no es garantia, pero es lo mas que
puedes hacer

esto ultimo plantea otro problema que se podria describir mediante la
siguiente pregunta:
¿como automatizar operaciones en el servidor? para esto, voy a hacer otro
post porque me parece otro problema aunque, eso si, relacionado con este



con asp no se puede :|
una aproximacion, y dependiendo de las tareas y de la tasa de entrada a tu
web y de lo critico que sea hacerlas automaticas es "colgarlas" de la
entrada a tu web

me explico:
supongamos que tu cada X dias quieres por ejemplo eliminar registros
antiguos de tu base de datos que sabes q no se van a utilizar (temporales
etc)

el asunto no es critico en cuanto a exactitud del tiempo

cuelgas en tu pagina de entrada un codigo que controla (mediante una
variable de application) cuando fue la ultima "limpieza" , si con datediff
ves que hace "mucho" que no limpiaste, limpias y actualizas la variable de
application a now

esto vale para tareas no excesivamente criticas y suponiendo visitas mas o
menos constantes a tu web, si supones q tu web la va a visitar al menos 1
persona al dia siempre, puedes confiar en hacer de esta forma operaciones
diarias

la otra forma.. es mas compleja, ya necesitas usar o el programador de
tareas de windows (y necesitas acceso fisico al servidor... ) o bien un
programa instalado como servicio/demonio que se encargue de esas tareas...
de nuevo si el servidor no es tuyo no te van a dejar



muchas gracias de antemano por tu ayuda








Respuesta Responder a este mensaje
#7 Enrique
24/10/2005 - 19:02 | Informe spam
muchas gracias. el tema queda claro. voy a mirar las condiciones de mi
proveedor de host (inicialmente solo valia para el sitio web todavia
estatico), que componente contempla y lo codificaré de esta forma.

respecto a los lenguajes utilizados para mandar mails, he visto en otro
post, que Matias tiene un componente hecho por el mismo en VB y no tiene
ningun problema en mandarnos el codigo, eso si, si le pides personalmente
por email (mira el post "aspmail con autentificacion"). en este caso, 2
posibilidades: o se puede coger el codigo e incluirlo en Vbscript y no hace
falta componente o estamos en las mismas: esta claro que ningun proveedor de
host tiene el componente de Matias y no creo que sea posible pedirles que lo
pongan.

gracias de nuevo por tu ayuda :-)
Respuesta Responder a este mensaje
#8 enrique
27/10/2005 - 14:45 | Informe spam
¿tan complicado es mandar un email? para hacer la prueba, lo he intentado
con el ejemplo que me dejaste pero quiza haya fallado en algo. el caso es
que falla, asi que he buscado codigo en internet:

sub mandameEmail(email)
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "smtp.eresmas.net"
JMail.Sender =
JMail.Subject = "asunto"
JMail.AddRecipient
JMail.Body = "Este seria tu mensaje"
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute
end sub

en este caso lo que he hecho es obviar el parametro del procedimiento por el
momento e intentar mandarme un email a mi mismo que es algo que funciona
perfectamente si lo hago manualmente.
obviamente me he descargado el Jmail y me lo he instalado para que al menos
se reconozca la clase "Jmail.SMTPMail" de este ActiveX.

aun asi no se que pasa que no funciona. el mensaje de error que me da es el
siguiente:
jmail.SMTPMail (0x8000FFFF) The message was undeliverable. All servers
failed to receive the message.

¿es un problema de servidor realmente? ¿es problema de codigo?

gracias de antemano por su ayuda
Respuesta Responder a este mensaje
#9 Jorge Dapena
27/10/2005 - 17:04 | Informe spam
Buenas Enrique

Creo que el problema que tienes es que no especificas la dirección de la
máquina para enviar los mensajes. En vez de jmail.execute prueba con el
jmail.send("maquinadesdedondeloenvias").

Te mando un ejemplo de envío básico (plagiaado brutalmente de la página de
DIMAC).


<%@LANGUAGE = VBSCRIPT%>
<html>
<body>

<%
set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true
msg.silent = true

' si ves que no te funciona aquí pon una cuenta que exista pero DEL DOMINIO
que tengas en esa máquina.
msg.From = ""
msg.FromName = "My Realname"

msg.AddRecipient ""
msg.Subject = "asunto"

msg.Body = "el mensaje"

if not msg.Send("smtp.midominio.com" ) then
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "mensaje enviado"
end if


%>
</body>
</html>


por cierto no, no es tan dificil una vez te funciona todo en la máquina (es
copiar y pegar) ahora mandar el primero si es un poquillo mas coñazo, jejeje

un saludo!!

Jorge Dapena
Respuesta Responder a este mensaje
#10 enrique
27/10/2005 - 19:49 | Informe spam
Juas. no le doy credito. vamos que no me lo creo. esto deberia costar entre
5 y 7 mn mediante como bien dices un copiar y pegar. el problema es que
incluso en el manual no te ponen mas que un ejemplo generico. yo a veces no
entiendo a esta gente. ¿tan dificil es poner despues de un bonito ejemplo un
ejemplo un poquitin menos abstracto, esto es, concreto?

en fin, menos mal que cuento con vuestra ayuda.

te pongo lo que he puesto

sub newmail
set jjmail=server.CreateObject("JMail.Message")
jjmail.Logging=true
jjmail.From=
jjmail.AddRecipient
jjmail.Subject="este es el subject"
jjmail.Body="texto de la primera linea" & vbcrlf & vbcrlf
jjmail.AppendText("esta deberia ser la 3º linea porque hemos puesto 2
vbcrlf antes")
jjmail.send("smtp.eresmas.net")
end sub

no veo el problema, esto me parece correcto. uso SMTP como correo saliente
que es lo que es en mi dominio. creo el objeto, digo quien es el origen y el
destino, el titulo y el cuerpo del mensaje y lo mando

para el send, tambien dicen que es conveniente que dejes tu nombre_usuario y
pass con el siguiente formato:
jjmail.Send("usuario:")

¿me podria dejar un ejemplo tuyo que funcione? me estoy volviendo loco para
mandar un email. es increible pero imagino que no sere el primero en esta
situacion.

gracias de nuevo por tu ayuda. no pierdo la esperanza de mandar un email.
que cosa :-(
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida