PDA

Ver la Versión Completa : Enviar email con outlook express


fedelphi
28-01-2007, 21:46:19
Hola a todos en el foro, he buscado como enviar un email con outlook express desde Delphi y como no podia ser de otra manera encontre en foro como hacerlo, pero mi intención es enviar un archivo adjunto y el código que figura en un hilo no me adjunta el archivo. El códigop es el siguiente

procedure TForm1.Button1Click(Sender: TObject);
const
rsFormatoCuerpo = '&body="%S"';
// rsFormatoAsunto = 'mailto:%S?subject=%S';
rsFormatoAsunto = 'mailto:%S?subject=%S&file="%S"';
var
contador: integer;
cuerpoTemporal: TStrings;
cadenaEjecucion, destino, asunto, cuerpo, archivo: string;
begin
destino := 'unacasilla@alguncorreo.com';
asunto := 'Este es el asunto del correo';
cuerpo := 'Este es el cuerpo del correo' +#13+#10+ 'en dos líneas distintas';
archivo :='archivo.txt';
cuerpoTemporal := TStringList.Create;
cuerpoTemporal.Text := cuerpo;

// cadenaEjecucion := Format(rsFormatoAsunto, [destino, asunto]);
cadenaEjecucion := Format(rsFormatoAsunto, [destino, asunto, archivo]);
for contador := 0 to cuerpoTemporal.Count-1 do
begin
cuerpoTemporal[contador] := Format(rsFormatoCuerpo, [cuerpoTemporal[contador]]);
end;

cadenaEjecucion := cadenaEjecucion + cuerpoTemporal.Text;

ShellExecute(Handle, 'open', PChar(cadenaEjecucion), nil, nil, SW_SHOWNORMAL);

cuerpoTemporal.Free;
end;


Estoy haciendolo con delphi 7 y outlook express 6. Y tampoco me sale la primera linea del cuerpo que dice 'Esto es el cuerpo del correo', pero si sale la segunda 'en dos lines distintas'. Alguien me puede orientar sobre cual es el error? Ya que no comprendo bien el funcionamiento.
Muchas gracias y espero alguna ayuda.
Fede

dec
29-01-2007, 05:46:32
Hola,

Desiste. Creo que de la manera que estás intentándolo no es posible, sencillamente, incluir un archivo adjunto. Trabajando con Delphi podrías más o menos sencillamente utilizar ciertos componentes para enviar correo (con archivos adjuntos) sin necesidad de utilizar OutLook. Si buscas en los Foros ya sabes que encontrarás información al respecto.

Sin embargo, si es prioritario utilizar OutLook, lo único que puedo decirte (a riesgo de equivocarme, que no soy la biblia) es que me parece que de la forma en que estás intentándolo no puede conseguirse: ignoro si se proporcionará algún API... si existirá algún componente que, de otro modo, te permita lograrlo, pero, tal como lo intentas ya digo que me parece que no es posible, simplemente.

fedelphi
29-01-2007, 18:13:01
Gracias dec, muy buena punta me diste. Encontre material en el foro buscando como enviar mail y me resulto de mucha ayuda. Asi que problema resuelto. De nuevo muchas gracias.
Fede