Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Adjuntar fichero por E-Mail usando outlook? (https://www.clubdelphi.com/foros/showthread.php?t=13065)

burasu 05-08-2004 12:25:16

Adjuntar fichero por E-Mail usando outlook?
 
Hola amigos, tengo que hacer en mi aplicación una opción en la que el usuario pueda enviar los listados por correo electrónico. Este podrá hacerlo de dos formas, o bien usando la propia aplicación o bien usando el gestor de correos que tenga instalado en su equipo.

La primera forma la hago utilizando los componentes de FastNet y no tengo ningún problema, el problema lo encuentro con la otra.

Para abrir el Outlook(que sería mi caso) uso el siguiente código:

Código:

ShellExecute(Self.Handle, 'open', pChar('mailto:' + trim(eMail.Text+'?subject='+Asunto.Text)),nil, nil, SW_SHOWNORMAL);
El cual al cargar el Outlook ya me muestra tanto el correo de destino como el asunto del mensaje, pero que debo usar para adjuntar los ficheros. Creo recordar que hay una clausula de mailto que se llama attach o algo parecido pero no se si es esta la que debo usar.

En otra aplicación que hice, lo que hacia era convertir primero todo a un fichero *.ems y luego lo abria, pero me parece bastante lioso como para que sea la unica forma.

Ese código era el siguiente:

Código:

{/* PROCEDIMIENTO QUE GENERARÁ EL FICHERO EML QUE ABRIRÁ EL PROGRAMA CUANDO EL
    USUARIO DESEE GENERAR UN CORREO ELECTRÓNICO. */}
procedure TModuloCorreo.GenerarCorreo;
var
  FichCorreo : TextFile;
  i : Integer;
  Temporal : String;
begin

  AssignFile(FichCorreo, ExtractFilePath(ParamStr(0)) + '\ssemail.eml');
  Rewrite(FichCorreo);
  WriteLn(FichCorreo,'To: ' + ModuloDatos.BuscarCorreo);

  WriteLn(FichCorreo,'Subject: Enviar informe.');
  WriteLn(FichCorreo,'MIME-Version: 1.0');
  WriteLn(FichCorreo,'Content-Type: multipart/alternative;');
  WriteLn(FichCorreo,'        boundary="----=_NextPart_000_0007_01C2A047.FD5E40D0"');
  WriteLn(FichCorreo,'X-Priority: 3');
  WriteLn(FichCorreo,'X-MSMail-Priority: Normal');
  WriteLn(FichCorreo,'X-Unsent: 1');
  WriteLn(FichCorreo,'X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4920.2300');
  WriteLn(FichCorreo,'');
  WriteLn(FichCorreo,'This is a multi-part message in MIME format.');
  WriteLn(FichCorreo,'');
  WriteLn(FichCorreo,'------=_NextPart_000_0007_01C2A047.FD5E40D0');
  WriteLn(FichCorreo,'Content-Type: text/plain;');
  WriteLn(FichCorreo,'        charset="iso-8859-1"');
  WriteLn(FichCorreo,'Content-Transfer-Encoding: quoted-printable');
  WriteLn(FichCorreo,'------=_NextPart_000_0007_01C2A047.FD5E40D0');
  WriteLn(FichCorreo,'Content-Type: text/html;');
  WriteLn(FichCorreo,'        charset="iso-8859-1"');
  WriteLn(FichCorreo,'Content-Transfer-Encoding: quoted-printable');
  WriteLn(FichCorreo,'');
  WriteLn(FichCorreo,'<HTML><HEAD></HEAD><BODY>');
{/* Aquí procederemos a generar el fichero del formulario en sí. */}
  for i := 0 to (ModuloDatos.StrucFich.Count -1) do begin
    Temporal := ModuloDatos.DOS_a_Windows(ModuloDatos.StrucFich[i]);
    WriteLn(FichCorreo,ExaminarLineaCorreo(Temporal) + '<br>');
  end;
  WriteLn(FichCorreo,'</BODY></HTML>');
  WriteLn(FichCorreo,'');
  WriteLn(FichCorreo,'------=_NextPart_000_0007_01C2A047.FD5E40D0--');
  CloseFile(FichCorreo);  {/* Cerramos el fichero creado. */}
end;

Bueno espero sus respuestas, gracias :D


La franja horaria es GMT +2. Ahora son las 04:20:02.

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