Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Enviar mail con archivo adjunto desde Delphi 2010 (https://www.clubdelphi.com/foros/showthread.php?t=95449)

tulio 30-10-2021 17:07:27

Enviar mail con archivo adjunto desde Delphi 2010
 
Buen día Foro

necesito enviar mails con archivos adjuntos y no encuentro ninguna rutina, encontre una rutina que envia mails en forma correcta usando shellexecute, pero no se como adjuntarle una archivo.

Si algún alma solidaria me da una ayuda se lo agradezco

Saludosss

Casimiro Notevi 30-10-2021 19:30:33

Mira los enlaces relacionados de final de página, o una simple búsqueda te devolverá muchos hilos donde se tratan temas similares.
Avisa si no encuentras lo que necesitas.

tulio 01-11-2021 02:28:27

Gracias Casimiro

pero los ejemplos de abajo no los puedo hacer andar, quisiera saber el codigo para enviar un mail con un adjunto, utilizo Delphi 2010

Graciass

Casimiro Notevi 01-11-2021 20:20:18

Es que tu pregunta es muy genérica, deberías concretar un poco más, qué componentes usas, qué problema tienes, etc.

tulio 02-11-2021 03:16:40

Casimiro

este código anda bien, pero no me adjunta archivos

Código Delphi [-]
procedure tF_lisingre.button1
var
 MailTo,
  MailSubject,
  MailCC,       
  MailBCC,      
  Mailattachment,
  MailBody: String;
 begin 
  MailTo := 'correo@hotmail.com';
  MailSubject := 'Titulo primero';
  MailCC := '';
  MailBCC := '';
  MailBody := 'Señor/a Profesional '+trim(tablas.t_maeprofeAPENOM.asstring) +', adjunto a este e-mail, se envia detalle de presentación del mes '+copy(datetostr(date),4,2)+ ' año '+ copy(datetostr(date),7,4) ;
  mailattachment:='C:\sistemas\mails\prueba.pdf';
  RunDefaultMailer;

end;


procedure tF_lisingre.RunDefaultMailer;
var
  header,
  mail : String;
  ShellResult : integer;
begin
  if (MailTo ='') then begin  //  también funciona sin destinatario
     ShowMessage('Falta el destinatario...');
     Exit;
  end;
  header := 'mailto:' + MailTo;
  if (MailSubject >'') then header := header + '?Subject=' + MailSubject;
  if (MailCC >'') then header := header + '&cc=' + MailCC;
  if (MailBCC >'') then header := header + '&bcc=' + MailBCC;
  mail := header + '&body=' + MailBody + Signature;
  ShellResult := ShellExecute(Application.mainform.Handle,'open',PChar(mail), nil, nil, SW_MAXIMIZE);
end;

Saludosss

Casimiro Notevi 02-11-2021 09:29:57

¿Estás usando Indy?
Mira este hilo.

tulio 02-11-2021 12:07:31

Indy NO uso

Casimiro Notevi 02-11-2021 12:31:49

Entonces esto puede servirte de ayuda.

tulio 02-11-2021 13:06:51

Si le saco &attach="c:\temp\test.txt\"

llama al correo y funciona, cuando le agregue ese codigo da el error.

No hay un código para enviar un mail con un adjunto? nadie lo usa en delphi 2010 o superiores ?

movorack 02-11-2021 14:22:28

Hola, tulio!

Como se está usando un programa externo que se llama con ShellExecute. Primero se debería verificar que el comando sea correcto.

La primera prueba que se podría realizar es hacer el llamado desde la línea de comandos (CMD o PowerShell) y que de esta forma se verifique que se envíe el adjunto. Una vez esa prueba sea exitosa, la tarea es replicar ese mismo llamado con el aplicativo


La franja horaria es GMT +2. Ahora son las 12:13:04.

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