Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Nombre del adjunto en un eMail (https://www.clubdelphi.com/foros/showthread.php?t=70158)

gcaffe 03-10-2010 04:27:34

Nombre del adjunto en un eMail
 
Hola:
He realizado un procedimiento para enviar un correo electrónico con ficheros adjuntos, son las facturas del cliente en formato PDF, todo funcina bien, lo que no puedo conseguir es que el correo que llega al usuario los adjuntos se muestren con el nombre y extensión corrspondiente por ejemplo 'Fac001.pdf' en su defecto siempre llegan con extensión .dat, para el procedimiento utilizo los componentes Indy y la carga de los adjuntos lo realizo así:

Código Delphi [-]
  Path := ExtractFilePath(Application.ExeName)+'\Reportes\';
  for i := 0 to grdFacturas.SelCount - 1 do begin
    grdFacturas.GotoSelection(i);
    PdfName := Path+DM.FactuEnviosNumFactura.Value+'.pdf';
    if FileExists(PdfName) then TIdAttachmentFile.Create(Mail.MessageParts, PdfName);
  end;



Muchas gracias.

jimmy_aei 10-10-2010 20:35:47

Tengo el mismo problema y estoy buscando la misma solución.

o no se si se tenga que usar otro componente?

gcaffe 19-10-2010 11:00:58

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

vani 20-10-2010 10:08:46

Echale un ojo a esto:

http://delphimagic.blogspot.com/2010...juntos-en.html

gcaffe 24-10-2010 01:10:40

Gracias vani por el dato, actualize el indy10 y el problema se arregló.

Saludos


La franja horaria es GMT +2. Ahora son las 10:01:19.

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