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 04-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Error en envio de adjuntos en Email

Buenos días gente, estoy teniendo un problema al intentar adjuntar un archivo a un correo, estoy utilizando delphi 2005 con los componentes inDy y tengo el siguiente código:
Código Delphi [-]
var
temp:string;
begin
RvSystem2.DoNativeOutput:=false;
RvSystem2.RenderObject:=RvRenderPDF1;
RvSystem2.SystemSetups:=RvSystem2.SystemSetups-[ssAllowSetup];
RvSysTem2.OutputFileName:='C:\Windows\temp\temp.pdf';
IdMessage1.ClearBody;
IdMessage1.Body.Text:='Un saludo.';
idmessage1.Recipients.EMailAddresses:=DESTINATARIO;
IdMessage1.Subject:='Envio de informe';
IdMessage1.Priority:=MpNormal;
IdMessage1.From.Text:=CORREO;
Frmlistadoart.RvProject2.SelectReport('Report13',true);
FrmListadoart.RvProject2.SetParam('Pedido',pedido);
FrmListadoArt.RvProject2.SetParam('PedPapel',compra);
Frmlistadoart.RvProject2.SetParam('RefTinta',tinta);
frmlistadoart.RvProject2.SetParam('RefMotivo',motivo);
Frmlistadoart.RvProject2.Execute;
if fileexists('C:\WINDOWS\Temp\Temp.pdf') then
  begin
    TIdAttachmentfile.create(IdMessage1.MessageParts,'C:\Windows\temp\temp.pdf');
  end;
try
  IdSMTP1.Connect;
    try
      IdSMTP1.Send(IdMessage1);
    Finally
      IdSMTP1.Disconnect;
    end;
  showmessage('Se envio el mensaje correctamente');
Except
  ShowMessage('Fallo en el envio de email');

Si intento mandarlo con el PDF adjunto me salta el siguiente error:
Código:
raised exception class EIdSocketError with message 'Socket Error # 10054 Connection reset by peer.'
Sin embargo, si lo envío sin el archivo adjunto el mensaje se envia correctamente. Espero que alguien me pueda echar una mano porque no se porque falla, además este código, o uno muy similiar, lo llevo usando en otro programa hace ya tiempo y comparando el código de uno y otro no veo porque uno funciona y el otro no.

Un saludo y gracias por su tiempo.
Responder Con Cita
  #2  
Antiguo 05-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Buenos días,
he estado haciendo pruebas y voy a poner algo más de información para ver si a alguien se le ocurre que puede estar pasando, si el archivo que adjunto en el correo ocupa en el ordenador 1Kb el mensaje se envía correctamente con el archivo adjunto, pero probando con otros archivos de 20Kb o 70Kb, que es lo que me ocupan los PDFs que quiero mandar, me devuelve el fallo de envío de E-mail.
No se si se demora mucho al conectarse al servidor de correo al subir el archivo adjunto o que puede ser, si se les ocurre algo comentenmelo. Gracias.

Un saludo.
Responder Con Cita
  #3  
Antiguo 05-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Se me olvidaba comentar que he reducido el codigo para hacer las pruebas, se ha quedado en esto:
Código Delphi [-]

IdMessage1.ClearBody;
IdMessage1.Body.Text:='Un saludo.';
idmessage1.Recipients.EMailAddresses:=DESTINATARIO;
IdMessage1.Subject:='asunto';
IdMessage1.Priority:=MpNormal;
IdMessage1.From.Text:=REMITENTE;
TIdAttachmentfile.create(IdMessage1.MessageParts,ARCHIVO);
try
  IdSMTP1.Connect;
    try
      IdSMTP1.Send(IdMessage1);
    Finally
      IdSMTP1.Disconnect;
    end;
  showmessage('Se envio el mensaje correctamente');
Except
  ShowMessage('Fallo en el envio de email');
End;
If IdSMTP1.Connected Then IdSMTP1.Disconnect;
Responder Con Cita
  #4  
Antiguo 05-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Como sigo haciendo pruebas les pongo más información (que creo yo útil) para descartar posibles errores, he probado a configurar otra dirección de correo de otro servidor de correo distinto y sigue ocurriendo lo mismo, archivos de 1Kb si que funcionan y de más tamaño no.

Un saludo.
Responder Con Cita
  #5  
Antiguo 06-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Buenos días amigos,
he resuelto el problema que tenía con el tema del adjunto, les explico lo que me ha ocurrido por si le pasa a alguien en el futuro, aunque es sencillo el asunto a mi me ha traido de cabeza, el asunto es que tengo en mi empresa el antivirus McAfee con su correspondiente cortafuegos, tengo bloqueado el delphi para que no se conecte a internet y al ejecutar el código que estaba programando yo le daba a permitir a la aplicación que estaba creando pero no funcionaba, lo raro es que no funcionaba cuando le adjuntaba un archivo como les decía más arriba, al ejecutar la aplicación desde fuera de delphi funciona correctamente, es como si el cortafuegos detectara que un programa que estaba banneado intentara conectarse a través de otro.
Muchas gracias por leer y dedicarle tiempo a mi problema.

Un saludo.
Responder Con Cita
  #6  
Antiguo 14-05-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigo eldioni que probado tu codigo y no me funciona pero creo no me funciona por la version de indy que utilizo que es la 9 la que viene por defecto con delphi podria decirme si es esa que utiliza o la version 10
Responder Con Cita
  #7  
Antiguo 28-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Perdona kurono por no responderte antes, supongo que es un poco tarde pero de todas formas te comento que efectivamente yo utilizo la versión 10 de las indy, lo que cambiaban con respecto a las versiones antiguas, si no estoy equivocado, es la línea de adjuntar archivos, en lugar de ser

Código Delphi [-]
TIdAttachmentfile.create(IdMessage1.MessageParts,'C:\Windows\temp\temp.pdf');

en las versiones antiguas es de otra forma, muy similar a esta pero distinto, si buscas en los foros, aunque seguro que ya lo has hecho, encontrarás información sobre el tema.

Otra cosa que te quería comentar es que aunque al final puse que pude arreglar el error que venía dado por el mcafee, en realidad, sigue fallando, el mcafee solo me deja mandar correos si le desactivo el cortafuegos, lo que pasa es que al desactivar el cortafuegos y volver a activarlo hasta que no reiniciaba el ordenador no volvía a bloquearme el programa por lo que yo pensaba que el error ya estaba solucionado. No me había percatado del problema hasta que los ususarios han empezado a utilizar el programa por eso no lo he puesto antes.

Estoy buscando soluciones alternativas y una de ellas es la de usar el shellexecute para que me arranque, en mi caso, el outlook express, el problema es que aunque he puesto el código igual que viene en muchos casos toda la información aparece correctamente en su casillero del outlook ha excepción del archivo adjunto, aunque se lo ponga a la instrucción no lo adjunta, quería preguntar si alguien puede darme una mano con este tema, os pongo el código que estoy utilizando por si le veis algo raro.

Código Delphi [-]
mail:='mailto:cliente@empresa.com?Subject=prueba%20envio%20de%20mail&body=hola%20mundo&attach="c:\ar  chivo.txt"';
ShellExecute(Application.mainform.Handle,'open',PChar(mail), nil, nil, SW_MAXIMIZE);

Un saludo y gracias.
Responder Con Cita
  #8  
Antiguo 28-05-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Al pegar el código, no se porque, me separa el nombre del archivo que adjunto, pero tener en cuenta que en mi código está todo junto.

Un saludo.
Responder Con Cita
  #9  
Antiguo 29-05-2010
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigo ElDioni he instalado la version 10 de los indy y aun asi no puedo mandar correo si bien explica que no has solucionado el problema comentas que puedes enviar correo aunque no los adjuntos, por ahora no me interesa mucho enviar adjuntos solo correo de texto podria decirme a que tipo de correo mandas si hotmail,yahoo o Gmail

si no es mucha molestia puedes decir que configuracion tienes en los componente indy host,puerto ect

Última edición por kurono fecha: 29-05-2010 a las 00:25:46.
Responder Con Cita
  #10  
Antiguo 04-06-2010
Avatar de erickahr
erickahr erickahr is offline
Miembro
 
Registrado: feb 2010
Posts: 94
Poder: 15
erickahr Va por buen camino
Thumbs up

Hola. Les recomiendo chacar este post a ver si les ayua de algo compañeros.
http://www.clubdelphi.com/foros/showthread.php?t=68256
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error envio email con componentes Indy IdSMTP y IdMessage Bertifox2008 Internet 7 09-10-2008 23:02:59
Envio de archivos adjuntos con TIdSmtp murci Internet 3 14-02-2007 13:27:02
Como envio un correo con archivos adjuntos Alejandro73 Internet 4 08-04-2006 01:09:49
Problema con el envio de archivos adjuntos por mail herodes Internet 5 16-08-2005 20:11:00
Como recibier eMail con adjuntos ?? chachino Internet 1 05-02-2005 21:05:57


La franja horaria es GMT +2. Ahora son las 19:32:41.


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