Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2007
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Poder: 0
murci Va por buen camino
Envio de archivos adjuntos con TIdSmtp

Hola a todos, despues de ver distintos hilos sobre el tema, no he encontrado la solucion a mi problema. Os explico, tengo un procedimiento para enviar correos electronicos desde un aplicacion, pudiendo adjuntar archivos. Pues bien, los mails que envio sin fichero adjunto, llegan perfectamente, mientras que los que llevan un archico adjunto, no hay manera de que lleguen a su destino, aunque el TIdSmtp no devuelva error al enviarlos.

Uso TidSmtp de las Indy 9 y delphi 7.

El codigo del procedimiento es el siguiente:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  mail : TIDMessage;
  smtp : TIdSMTP;
begin
  smtp := TIdSMTP.Create(self);
  // ASIGNO EVENTOS
  smtp.OnWork := mailEvent.OnWork;
  smtp.OnWorkBegin := mailEvent.OnWorkBegin;
  smtp.OnWorkEnd := mailEvent.OnWorkEnd;
  smtp.OnStatus := mailEvent.OnStatus;
  smtp.Name := 'Smtp';
  // CONFIGURACION DEL SERVIDOR AL QUE SE ENVIA EL CORREO
  with smtp do begin
    AuthenticationType := atLogin;
    Host := eHost.Text;
    port := 25;
    Username := eUser.Text;
    Password := ePass.Text;
  end;

  mail := TIdMessage.Create(Self);
  // CONFIGURACION DEL MENSAJE A ENVIAR
  with mail do begin
    From.Address := eFromAddres.Text;
    Recipients.EMailAddresses := eMailAddres.Text;
    Subject := eSubject.Text;
    body.text := eBody.Text;
  end;

  IF ABRIR.Execute then
    if FileExists(abrir.FileName) then 
      TIdAttachment.create(mail.MessageParts,abrir.filename);

  try
    // CONEXION CON EL SERVIDOR DE CORREO
    smtp.Connect(10000);
    try
      // ENVIO DEL MENSAJE
      smtp.Send(mail);
    except
      on E: Exception do
         ShowMessage('Fallo al enviar: ' + E.Message);
    end;
  finally
    if SMTP.Connected then SMTP.Disconnect;
    smtp.free;
    mail.free;
  end;
end;
Bueno, a ver si alguien ve una posible razon para todo este entuerto que me esta volviendo loco.

Muchas gracias a todos por perder el tiempo con mi problema.
__________________
J. Adolfo Núñez
Responder Con Cita
  #2  
Antiguo 13-02-2007
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,

Deberías comprobar que el problema ocurre siempre, con cualquier Servidor SMTP y con cualquier tipo de archivo. Piensa que un Servidor SMTP en concreto puede limitar el envío de archivos adjuntos y rechazar, sencillamente, cierto tipo de archivos, como ejecutables, por ejemplo. No sé. Primero comprobaría esto. Probaría a enviar distintos tipos de archivo; incluso el tamaño de los archivos acaso influya también.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-02-2007
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Poder: 0
murci Va por buen camino
El problema ocurre con el archivo que sea(txt,pdf,pas,...), y tambien he probado con distintos servidores smtp, siempre me hace lo mismo. Seguro que es una tonteria, pero no la veo.
__________________
J. Adolfo Núñez
Responder Con Cita
  #4  
Antiguo 14-02-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Hola Murci:

"
Cita:
TIdAttachment.create(mail.MessageParts,abrir.filename);
"

Creo que te falta introducir algún parámetro mas:

Mira te pongo un ejemplo de como envió uno o varios archivos adjuntos (TIPO IMAGEN) en el cuerpo del mail... Repasa estos parámetros y seguro que encuentras la solución...
Código Delphi [-]
     if findFirst(FTempDir + '*.jpg',faAnyFile ,sr) = 0 THEN
        REPEAT
        OpenfileJPG :=  FTempDir + SR.Name;
        slBody.Add('');
        idAttach := TidAttachment.Create(p, OpenfileJPG);
        idAttach.ContentType := 'image/jpeg';
        idAttach.ContentDisposition := 'inline';
        idAttach.ExtraHeaders.Values['content-id'] := Sr.Name;
        idAttach.DisplayName := Sr.Name;
        until FindNext(sr) <> 0;
        FindClose(sr);
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como envio un correo con archivos adjuntos Alejandro73 Internet 4 08-04-2006 01:09:49
pop3 y archivos adjuntos !! seba_cipo Internet 2 19-12-2005 14:09:28
¿Cómo vaciar los datos adjuntos del envio de un correo? D@byt Internet 1 01-12-2005 13:24:43
Descargar archivos adjuntos con NMPOP3 gaska OOP 0 30-11-2005 18:09:54
Problema con el envio de archivos adjuntos por mail herodes Internet 5 16-08-2005 20:11:00


La franja horaria es GMT +2. Ahora son las 21:54:35.


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