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 27-10-2005
pampitasnowman pampitasnowman is offline
Miembro
 
Registrado: ago 2003
Ubicación: La Plata, Argentina
Posts: 41
Poder: 0
pampitasnowman Va por buen camino
Question Envio de mails con una aplicación

Hola a todos! Tengo la siguiente inquietud: Tengo una aplicación que corre en los hogares de los clientes. Una de las opciones de la aplicación es la posibildiad de enviarme un mail a una casilla mía de un hosting. Hasta ahí está todo Ok, porque con las Indy 9 (TidMessage, TidSMTP), me envio el mail a mi cuenta, el usuario solo ingresa su nombre y un archivo adjunto, nada mas. Pero ahora quiero ponerle tambien la opción de que el pueda enviar un mail a otra persona, con archivos adjuntos y el problema se me plantea con la parte del Host. ¿Si el mail sale desde la casa del usuario X al usuario Y, tengo que saber que SMTP tiene el proveedor de internet del usuario x? Lo que yo quiero es simplemente, que el usuario X ponga su dirección de mail, la dirección del destinatario, adjunte los archivos y que ponga enviar. Solo eso. Si no me supe explicar avisen que me expreso mas, o si alguno tiene una idea de como hacerlo le estaré agradecido, muchas gracias y saludos! Nacho.
__________________
Tome Pin y haga Pum!
Responder Con Cita
  #2  
Antiguo 27-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por pampitasnowman
(...) ¿Si el mail sale desde la casa del usuario X al usuario Y, tengo que saber que SMTP tiene el proveedor de internet del usuario x? (...)
Pues sí. Deberás conocerlo para utilizarlo al enviar el correo. Puedes preguntárselo al propio usuario (solo una vez, luego guardarlo). No creo que represente un problema si el usuario hace uso de algún que otro cliente de correo: la mayoría solicitan este dato y el usuario debería saber de qué se habla: tú podrías recordárselo también.

Otra opción estaría en un "SMTP Relay Server", pero, personalmente, me pierdo aquí. Tienes la posibilidad de utilizar algún que otro componente: yo he usado a veces el "TSmtpRelay" y me ha ido bastante bien: es un componente que cuesta 19 dólares sin código fuente y 55 con el código fuente incluido.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 27-10-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por pampitasnowman
¿Si el mail sale desde la casa del usuario X al usuario Y, tengo que saber que SMTP tiene el proveedor de internet del usuario x? Lo que yo quiero es simplemente, que el usuario X ponga su dirección de mail, la dirección del destinatario, adjunte los archivos y que ponga enviar.
Hola.

Esto es posible utilizando tu propio servidor smtp. Supongamos que tenes registrado un dominio que se llama pampitasnowman.com, cuyo smtp es smtp.pampitasnowman.com

Podes enviar el correo a través de este, con tus propias credenciales, pero indicando en el from la dirección de email de tu usuario.

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 27-10-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Hola pampita, con respecto al SMTP, vos ya lo debes tener configurado (ya que la aplicacion te envia un mail a vos misma. el unico problema que podes llegar a tener es que, si vos queres hacer Relay (o algo asi) que seria enviarlo a otras personas de otros dominios, vas a tener que loguarte con USUARIO y PASSWORD.
Responder Con Cita
  #5  
Antiguo 27-10-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por Enan0
vas a tener que loguarte con USUARIO y PASSWORD.
Esto no necesariamente es cierto, depende generalmente de cómo esté configurado el servidor smtp (y si soporta el relay o no, que hay los que no lo hacen. ).

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
  #6  
Antiguo 27-10-2005
pampitasnowman pampitasnowman is offline
Miembro
 
Registrado: ago 2003
Ubicación: La Plata, Argentina
Posts: 41
Poder: 0
pampitasnowman Va por buen camino
Post

Gracias a todos por tomarse su tiempo y responder! Es mas o menos asi:
Con el siguiente código, me envio a una casilla mia de un hosting un mail, pero esto estransparente al usuario, el solo adjunta un archivo y pone su nombre:

Código Delphi [-]
SMTP.Host := 'mail.pepito.com';
SMTP.Port := 25;
SMTP.Password := 'xxyy';
SMTP.Username := 'pedidos@pepito.com';
Mail.ClearBody;
Mail.From.Name := 'Pedido Fotográfico';
Mail.Subject := 'Cliente: ' + Edit2.Text;
Mail.Recipients.EMailAddresses := 'pedidos@pepito.com';
Mail.From.Address := Edit3.Text;
Mail.Body.AddStrings(Memo1.Lines);
TidAttachment.Create(Mail.MessageParts, Edit1.Text);
try
  try
    SMTP.Connect();
    SMTP.Send(Mail);
    MessageDlg('Los pedidos se enviaron con éxito.', mtInformation, [mbOk], 0);
    except on E:Exception do
      MessageDlg('No se pudo conectar con el servidor. Chequee su conexión...', mtError, [mbOk], 0);
    end;
  finally
    if SMTP.Connected then
      begin
        SMTP.Disconnect;
        Mail.Free;
      end
  end
end

Ahora bien, si yo en vez de poner
Código Delphi [-]
Mail.Recipients.EMailAddresses := 'pedidos@pepito.com';
lo cambio por una variable que ea del estilo
Código Delphi [-]
Mail.Recipients.EMailAddresses := Edit8.Text;
en donde esté la direccion a donde tiene que llegar el mail, me salta error, que no puede enviar el mail.
Será por eso de que no soporta Relay (no sé que es el Relay... ). Gracias a todos de nuevo por responder.
__________________
Tome Pin y haga Pum!

Última edición por pampitasnowman fecha: 27-10-2005 a las 19:55:08.
Responder Con Cita
  #7  
Antiguo 27-10-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Cita:
Empezado por jachguate
Esto no necesariamente es cierto, depende generalmente de cómo esté configurado el servidor smtp (y si soporta el relay o no, que hay los que no lo hacen. ).

Hasta luego.

Si, Tenes razon, Igual no es para hacer un debate de esto, pero la gran mayoria de los server's smtp no lo soportan para evitar el correo anonimo y asi controlar el spam.. (pero como te dije.. tenes razon y no es motibo de debate)...
Responder Con Cita
  #8  
Antiguo 27-10-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por pampitasnowman
Ahora bien, si yo en vez de poner
Código Delphi [-]
Mail.Recipients.EMailAddresses := 'pedidos@pepito.com';
lo cambio por una variable que ea del estilo
Código Delphi [-]
Mail.Recipients.EMailAddresses := Edit8.Text;
en donde esté la direccion a donde tiene que llegar el mail, me salta error, que no puede enviar el mail.
¿qué clase de error salta? ¿con que mensaje?. No está de mas que te des una vuelta por aqui.

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
  #9  
Antiguo 27-10-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Como te anteriormente.. (jachguate) lo mas probable es que no soporte RElay, Intenta cambiar el DNS (SMTP) como prueba por uno de yahoo (smtp.mail.yahoo.com) y ponete como usuario el nombre de usuario de una cuenta que soporte POP3 y SMTP, esto se configura dentro de la cuenta desde las opciones..
y el respectivo password. igual te Adjunto un ejemplo debajo....

Código Delphi [-]
  
   if SMTP.Connected then SMTP.Disconnect;
    SMTP.Host:=txtsmtphost.Text;
    SMTP.Port := strtoint(txtsmtpPort.text); //port por default 25
    SMTP.Username:=txtsmtpID.Text;
    SMTP.Password:=txtSmtpPSW.text;
    SMTP.AuthType:=atDefault;
    idMessage.Recipients.EMailAddresses:=trim(txtmail.text); // si buscas en el foro hay un funcion para validar los emials
   IdMessage.From.Name:=txtUserName.text +' ' + txtmail.text;
   IdMessage.Subject:=txtsubjet.text;
 IDmessage.body:=memo1.text;
   if not SMTP.Connected then SMTP.Connect;
   SMTP.Send(idmessage);
  ......

Última edición por Enan0 fecha: 27-10-2005 a las 20:29:31.
Responder Con Cita
  #10  
Antiguo 27-10-2005
pampitasnowman pampitasnowman is offline
Miembro
 
Registrado: ago 2003
Ubicación: La Plata, Argentina
Posts: 41
Poder: 0
pampitasnowman Va por buen camino
Buenas! Perdón por la falta de datos del mail anterior, es cierto, no puse nada de lo que estaba usando. Les cuento que al final el error era de autenticación del SMTP, con el ejemplo que me mandaste de Yahoo!, corregí el que utilizaba de mi Hosting pago y funcionó perfecto.

Código Delphi [-]
SMTP.AuthenticationType := atLogin;

Tal vez les sirva este dato, pero el Yahoo! utiliza también el Port 578, porque a veces muchos ISP bloquean el 25.
Bueno, muchas gracias nuevamente por responder, y espero mejorar para la proxima en la redacción de los POST, saludos, Nacho.
__________________
Tome Pin y haga Pum!
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 23:38:54.


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