Ver Mensaje Individual
  #3  
Antiguo 19-10-2010
gcaffe gcaffe is offline
Miembro
 
Registrado: oct 2004
Posts: 53
Reputación: 20
gcaffe Va por buen camino
Hola a todos:
Hasta la fecha no he podido solucionar el problema de los adjuntos, sin embargo he realizado unas pruebas cuyo resultado diré, para ver si con esos datos alguine nos puede dar una solución.

Usando un ejemplo conseguido de la web www.about.com he probado en dos escenarios, exactamente usando el mismo ejemplo sin cambiar una coma.

1º Escenario: Un portátil com Windows 7 Enterprise y Delphi 2010, se ejecuta el ejemplo y todo funciona a la perfección, el resultado es un correo con los adjuntos correctos, por ejemplo: Factura1.pdf (23KB) Factura2.pdf (25KB) etc.

2º Escenario: Un sobremesa con Windows XP y Delphi 2009, se ejecuta el ejemplo, se envía el email pero los adjuntos llegan asi: Datos adjuntos sin titulo 0051.dat (23KB) Datos adjuntos sin titulo 0053.dat (25KB) etc..

He cambiado casi todas las propiedades de los componentes TidSMTP y TidMessage y no consigo el resultado deseado, si alguien no da una mano, quedaré agradecido.

El código que lanza el eMail es el siguiente:


Código Delphi [-]
procedure TMailerForm.btnSendMailClick(Sender: TObject);
begin
StatusMemo.Clear;
//setup SMTP
SMTP.Host := ledHost.Text;
SMTP.Port := 25;
//setup mail message
MailMessage.From.Text := 'Comapañia ACE';
MailMessage.From.Address := ledFrom.Text;
MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;
MailMessage.Subject := ledSubject.Text;
MailMessage.Body.Text := Body.Text;
// if FileExists(ledAttachment.Text) then
// TIdAttachmentFile.Create(MailMessage.MessageParts, ledAttachment.Text);
// Estas tres lineas de código las he escrito para pruebas
TIdAttachmentFile.Create(MailMessage.MessageParts, 'C:\I2F\Facturas 2010\Factura F10-001.pdf');
TIdAttachmentFile.Create(MailMessage.MessageParts, 'C:\I2F\Facturas 2010\Factura F10-002.pdf');
TIdAttachmentFile.Create(MailMessage.MessageParts, 'C:\I2F\Facturas 2010\Factura F10-003.pdf');
//send mail
try
try
SMTP.Connect;
SMTP.Send(MailMessage);
except on E:Exception do
StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;
end; (* btnSendMail Click *)




Muchas gracias

Última edición por Neftali [Germán.Estévez] fecha: 19-10-2010 a las 12:02:48. Razón: Corregir TAG's de código
Responder Con Cita