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 19-11-2004
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Post Problema al enviar Email con adjuntos usando el componente Idsmtp de las indy

Hola A tod@s, Tengo un problemilla con mi programa, este modulo envia e-mail con el IdMessage y el IdSmtp de las indy los envio sin ningún problema pero cuando le paso la ruta de varios archivos a traves de un Memo no me envia ningun adjunto.El codigo que tengo es este:
Código Delphi [-]
 // Adjuntos. Se pueden indicar varios ( TStringList ) ...
      if ( trim( txtAdjunto.Text ) <> '') then begin
         if(MemoAdjunto.Visible=true) then
         begin
              TIdAttachment.Create(Mensaje.MessageParts,MemoAdjunto.Lines.text );
              Memo.lines.Add( 'Archivos Adjuntos :');
              Memo.lines.AddStrings( MemoAdjunto.Lines  );
         end
         else
         begin
              TIdAttachment.Create(Mensaje.MessageParts,txtAdjunto.Text );
              Memo.lines.add( 'Archivo Adjunto : ' + trim( txtAdjunto.text ) );
         end;
      end;

A ver si alguien me puede echar una mano por que el jefe me esta metiendo presión con este módulo, y con el del memo del access que he puesto en un hilo del foro SQL.Gracias por vuestra generosidad y colaboración.
Responder Con Cita
  #2  
Antiguo 19-11-2004
TDworD TDworD is offline
Miembro
 
Registrado: nov 2003
Posts: 23
Poder: 0
TDworD Va por buen camino
Veamos si puedo servirte de ayuda, me atrevería a afirmar que debes crear un objeto TIdAttachment para cada adjunto del mensaje, es decir, tu código corregido sería:

Código:
// Adjuntos. Se pueden indicar varios ( TStringList ) ...
      if ( trim( txtAdjunto.Text ) <> '') then begin
         if(MemoAdjunto.Visible=true) then
         begin
            for i:=0 to MemoAdjunto.Lines.Count-1 do              
              TIdAttachment.Create(Mensaje.MessageParts,MemoAdjunto.Lines[i]);
            Memo.lines.Add( 'Archivos Adjuntos :');
            Memo.lines.AddStrings( MemoAdjunto.Lines  );
         end
         else
         begin
              TIdAttachment.Create(Mensaje.MessageParts,txtAdjunto.Text );
              Memo.lines.add( 'Archivo Adjunto : ' + trim( txtAdjunto.text ) );
         end;
      end;
Creo que con esto sería suficiente. Aparte de esto, un tema que no se de las Indy pues he empezado a usarlas hace poco, es si el objeto TIdAttachment lo has de destuir tu o se destruye cuando se manda el mensaje o se destruye al terminar la aplicación. Si lo has de destruir tu, deberías guardar en alguna variable la lista de adjuntos.

Un saludo.

TDworD

Última edición por TDworD fecha: 19-11-2004 a las 17:22:09.
Responder Con Cita
  #3  
Antiguo 22-11-2004
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Muchisimas gracias TdWord, ya he solucionado el problema,la verdad es que no habiacaido en hacer un bucle, no se que me pasa a veces pero tengo la ideas muy espesas.Lo dicho muchas gracias.
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 01:30:15.


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