Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-10-2003
Ester Ester is offline
Miembro
 
Registrado: oct 2003
Posts: 13
Poder: 0
Ester Va por buen camino
smtp

Muy buenas,

he leido en alguna parte que una forma fácil de enviar mails desde delphi es utilizando el componente TNMSMTP. Es eso cierto? De donde puedo sacar este componente? (Lo que yo necesito es que además de rellenar el mail lo envie automaticamente sin que el usuario ni se entere, es esto posible?)

Grácias y un saludo,

Ester
Responder Con Cita
  #2  
Antiguo 21-10-2003
Alejandra Alejandra is offline
Registrado
 
Registrado: oct 2003
Posts: 5
Poder: 0
Alejandra Va por buen camino
fijate en las demos que trae el delphi.

Saludos Alejandra
Responder Con Cita
  #3  
Antiguo 21-10-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Te recomiendo que utilices las Indy (http://www.nevrona.com/indy) para programar para internet. A partir de la versión 6 o 7, son los componentes incluidos en el mismo Delphi, contando siempre con soporte para Delphi 3 en adelante.

Allí mismo encontrarás demos que te aclararán como enviar un Email desde tu aplicación.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 28-10-2003
Ester Ester is offline
Miembro
 
Registrado: oct 2003
Posts: 13
Poder: 0
Ester Va por buen camino
Muy buenas,

he estado mirando la web de Indy pero no encuentro demos por ningun sitio, solo una lista de demos existentes pero no se como bajarmelas. Sabeis algun otro sitio donde pueda encontrar?


Grácias,

Ester
Responder Con Cita
  #5  
Antiguo 28-10-2003
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Los componentes Indy vienen con delphi 6 y 7 (solapas de componentes indy) y te lo puedes bajar e incorporar para otras versiones anteriores de delphi.

Si tienes D6 o 7 vete al directorio ($DELPHI)\Demos\Indy y allí lo tendrás.

En cuanto al componente TNMSMTP lo puedes encontrar en la solapa de componentes FastNet (creo que era así).

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #6  
Antiguo 10-11-2003
Avatar de naker
naker naker is offline
Miembro
 
Registrado: nov 2003
Ubicación: Tandil, BsAs, Argentina
Posts: 12
Poder: 0
naker Va por buen camino
che, yo no tengo ese componente instalado! de donde lo puedo bajar??
cuando instale el delphi, hice la instalacion minima y no tengo esa solapa.
Como puedo hacer para instalarlo??
Desde ya, muchas gracias!
naker.-
Responder Con Cita
  #7  
Antiguo 10-11-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

En mi mensaje anterior está la dirección...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 10-11-2003
Avatar de naker
naker naker is offline
Miembro
 
Registrado: nov 2003
Ubicación: Tandil, BsAs, Argentina
Posts: 12
Poder: 0
naker Va por buen camino
no, pero yo me referia al componente TNMSMTP
Responder Con Cita
  #9  
Antiguo 26-11-2003
ViPer ViPer is offline
Registrado
 
Registrado: nov 2003
Posts: 7
Poder: 0
ViPer Va por buen camino
El componente TNMSMTP viene con el Delphi a partir de la version 5, creo.

A ver ai alguien puede ayudarme a mí en este mismo tema:
He conseguido enviar mensajes con el TNMSMTP, pero solo a las direcciones que entren en el dominio del host que le indico,
por ejemplo para el host "mailhost.terra.es" solo puedo enviar correo a las direcciones como "midirec@terra.es", y no a "midirec@msn.com" por ejemplo

¿Es que falla el componente o es así de estricto? ¿Como puedo obtener el host de una direccion email determinada?

Gracias, espero que algun generoso programador conteste.
Un saludo.
Responder Con Cita
  #10  
Antiguo 26-11-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

El host es tu servidor de correo. Es decir, el equipo que sirve la cuenta tuya.

Digamos, si tu cuenta es juan@miproveedor.com, regularmente mi proveedor te dará una dirección. Puede ser un ip, o algo como mail.miproveedor.com, o smtp.miproveedor.com. No hay un estandar para ello.

Luego, el que desde tu cuenta podas enviar mensajes a cualquier dirección o solo a direcciones del mismo dominio, depende de las capacidades y la configuración de ese servidor. Lo normal es que si podas enviar correo a cualquier@lado.com

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #11  
Antiguo 27-11-2003
ViPer ViPer is offline
Registrado
 
Registrado: nov 2003
Posts: 7
Poder: 0
ViPer Va por buen camino
Gracias.
Aunque entonces no sé cómo crear un proceso de envio de correo seguro y para todos los servidores...
supongo que alguien lo habrá hecho alguna vez...

Gracias de nuevo. Ciao.
Responder Con Cita
  #12  
Antiguo 28-11-2003
Avatar de naker
naker naker is offline
Miembro
 
Registrado: nov 2003
Ubicación: Tandil, BsAs, Argentina
Posts: 12
Poder: 0
naker Va por buen camino
che, yo logre hacerlo andar para cualquier dire de mail. Tal vez sea el server de smtp que le pusiste.
Aca te paso mi codigo:

NMSMTP1.Port:=25;
NMSMTP1.Host:='smtp.hotpop.com';
NMSMTP1.UserID:= 'nachomezzadra@hotpop.com' ;
if not (NMSMTP1.Connected) then
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress := 'tu_dir_de_mail@server.com';
NMSMTP1.PostMessage.FromName := 'Tu nombre';
NMSMTP1.PostMessage.ToAddress.Add(Form1.Edit1.Text);
NMSMTP1.PostMessage.Attachments.Text := 'mi_archivo.txt';
NMSMTP1.PostMessage.Body.Text:=memo1.Text;
NMSMTP1.SendMail;
NMSMTP1.Disconnect;

Saludos y espero q te sirva!
naker.-
Responder Con Cita
  #13  
Antiguo 28-11-2003
ViPer ViPer is offline
Registrado
 
Registrado: nov 2003
Posts: 7
Poder: 0
ViPer Va por buen camino
Gracias naker, pero la unica diferencia con el mio es que le pasas el UserID, y lo he intentado asi y va igual. Mirad, aqui teneis la funcion completa, con copiar y pegar se puede probar y decirme si funciona.

procedure TForm1.ENVIAR_CORREO(WHOST: String; WPORT: Integer; WDIRREM, WDIRDEST, WASUN, WMEN: String);
begin
if InetIsOffline(0) then
begin
ShowMessage('No conectado a Internet');
Exit;
end;
////
with NMSMTP1 do
begin
// Host y Puerto de correo ...
Host:=WHOST;
Port:=25;
UserID:='usuario@terra.es';
// conectando ...
try
Memo1.Lines.Add('Conectando con '+ WHOST +', puerto '+ EPort.Text);
Connect;
except
Memo1.Lines.Add('Fallo en la conexion con el servidor SMTP.');
Exit;
end;
Memo1.Lines.Add('Componiendo mail ...');
// borra parametros por defecto ...
ClearParameters();
// Dirección origen ...
PostMessage.FromAddress:=WDIRREM;
Memo1.Lines.Add('Direccion origen: '+ PostMessage.FromAddress);
// Dirección destino. Se pueden indicar varias ( TStringList ) ...
PostMessage.ToAddress.Add(WDIRDEST);
Memo1.Lines.Add('Dirección destino: '+ PostMessage.ToAddress.Text);
// Titulo del mail ...
PostMessage.Subject:=WASUN;
Memo1.Lines.Add('Subject: '+ PostMessage.Subject);
// Ficheros adjuntos. Se pueden indicar varios ( TStringList ) ...
PostMessage.Attachments.Add('jdd.txt');
Memo1.Lines.Add('Ficheros adjuntos: ' + PostMessage.Attachments.Text);
// Cuerpo del mail ...
PostMessage.Body.Clear;
PostMessage.Body.Text:=WMEN;
Memo1.Lines.Add('Añadiendo cuerpo del mail ...');
// Enviando mail ...
Memo1.Lines.Add(' ');
Memo1.Lines.Add( 'Enviando ... ');
SendMail;
Memo1.Lines.Add('Mail enviado.');
// Desconectando ...
Disconnect;
Memo1.Lines.Add('Desconectado');
end;
end;

Para la llamada:

ENVIAR_CORREO(EHost.Text, StrToInt(EPort.Text), EDirOrigen.Text, EDirDest.Text, EAsunto.Text, EMen.Text);



REPITO, funciona para los emails de terra, pero no para msn, por ejemplo, que me muestra el error "503 No Recipients Especified"



Muchas gracias de nuevo, sois los mejores.
Ciao.
Responder Con Cita
  #14  
Antiguo 29-11-2003
Avatar de naker
naker naker is offline
Miembro
 
Registrado: nov 2003
Ubicación: Tandil, BsAs, Argentina
Posts: 12
Poder: 0
naker Va por buen camino
mmmm la verdad es q no sabria que decirte...
intentaste con otro host??
en HotPOP te ofrecen email gratuito. Yo tengo mi cuenta ahi, y con esa cuenta funciona sin problemas.
Intenta sacarte una cuenta ahi, y despues nos contas como te fue.
Saludos,
naker.-
Responder Con Cita
  #15  
Antiguo 01-12-2003
Alejandra Alejandra is offline
Registrado
 
Registrado: oct 2003
Posts: 5
Poder: 0
Alejandra Va por buen camino
Post

Hola Gente!!

queria compartir mi experiencia con smtp con ustedes.. no es mucha pero... tal vez sea de utilidad

haciendo un desarrollo me tope con una compania que utilizaba el Exchange como servidor de mail.
El tema es que ellos solo tenian habilitado el servicio de SMTP para uso interno , es decir solo mails de una determianda extension , por ejemplo @miCompania
Esta caracteristica es algo que se configura, es decir, tu proveedor puede decidir con quien/es podes contactarte via email

De acuerdo a lo uqe vengo siguiendo en los mensajes , es algo muy similar a lo uqe mu sucedio en este caso.

Saludos, y SUERTE!!!
Responder Con Cita
  #16  
Antiguo 01-12-2003
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
yo hice algo con smtp pero con tidtcp (componente indy)mandando los comandos de telnet conectandose directamente al mx (mail exchange) y poniendo el mail que queria como sender, el mail no se enviaba, directamente se escribia en el servidor

bueno, si necestian algo de ayuda chiflen
Responder Con Cita
  #17  
Antiguo 01-12-2003
ViPer ViPer is offline
Registrado
 
Registrado: nov 2003
Posts: 7
Poder: 0
ViPer Va por buen camino
Oye naker... hice lo que me dijiste, registre una cuenta nueva en HotPOP y cuando probe el programa puse Host:=smtp.hotpop.com y tal, conecto bien, como siempre, pero en el SendMail me da el error "554 error:no valid recipients"... lo mismo
ejecutaste el procedure que puse? funciona bien?

Respecto a lo que comenta alejandra, podria haber dicho como se puede modificar esa configuracion, supongo que habra que ponerse en contacto con el servidor...

Un saludo.
Responder Con Cita
  #18  
Antiguo 01-12-2003
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
http://www.greenend.org.uk/rjk/2000/...p-replies.html
ese error te lo tira despues del data cuando pusiste mal la sintaxis del mail, aca te copio un ejemplo hecho con telnet en yahoo
Cita:
data
354 go ahead
subject: probando
to:error
from:nose
holaaaaaaaa
.
554 delivery error: dd This user doesn't have a yahoo.com.ar account (miranda@ya
hoo.com.ar) [-5] - mta112.mail.scd.yahoo.com
si te fijas en el to y en el from puse palabras que no son mail y el error lo tira porque no es un email valido, es el header del email
Responder Con Cita
  #19  
Antiguo 02-12-2003
ViPer ViPer is offline
Registrado
 
Registrado: nov 2003
Posts: 7
Poder: 0
ViPer Va por buen camino
Siento parecer pesado, pero he comprobado lo de las direcciones TO y FROM y sigue igual. ¿Alguien ha ejecutado mi codigo?

FUNCIONA cuando:
Host: mailhost.terra.es
Direcc Dest: @terra

NO FUNCIONA cuando:
Host: mailhost.terra.es
Direcc Dest: @msn

y TAMPOCO FUNCIONA cuando:
Host: cualquiera que no sea terra! (smtp.HotPOP.com)

Es muy extraño, debe de ser algo de la configuracion del servidor, como comento Alejandra.

Gracias por la ayuda. Un saludo
Responder Con Cita
  #20  
Antiguo 02-12-2003
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
Es obvio que te pasa eso porque no es openrelay, se puede hacer igual con un truquito medio tonto, pero no voy a escribirlo porque esto se puede usar para spam, no se si es tu caso
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:21:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi