Buenos días a tod@s.
Despues de leer el hilo de (
Enviar email usando OUTLOOK 2003), me funciona, pero tengo unas cuantas preguntas...... Os explico previamente lo que intento hacer.....
Genero un Informe con una ó varias empresas... (supongamos 5 empresas). Cuando envio los email mediante el OUTLOOK 2003.....
1 - solo reciben los ficheros adjuntos los que tengan OUTLOOK 2003.
2 - cuando termina de generar el archivo PDF y lo envio. El OUTLOOK 2003 me sale la siguiente pantalla.
3 - ¿Sabe alguien como que lo puedo hacer directamanete....?
4 - ¿Como puedo enviar para que lo puedan recibir todos?, dependiendo del Correo electronico que tengo el cliente.
Código Delphi
[-]
procedure TForm.SpeedButton9Click(Sender: TObject);
var
Asunto,Texto,FicheroAEnviar, Direccion : string
begin
Asunto := 'Hola';
Texto := 'Adjunto le remito....';
FicheroAEnviar := 'c:\pdf1.pdf'; Direccion := 'ppp@ppp.com'
SendMailMAPI(Asunto,Texto,FicheroAEnviar,'','',Direccion,Direccion);
end;
function TForm.SendMailMAPI(const Subject, Body, FileName, SenderName,
SenderEMail, RecepientName, RecepientEMail: String): Integer;
var
message: TMapiMessage;
lpSender, lpRecepient: TMapiRecipDesc;
FileAttach: TMapiFileDesc;
SM: TFNMapiSendMail;
MAPIModule: HModule;
begin
FillChar(message, SizeOf(message), 0);
with message do begin
if (Subject<>'') then
lpszSubject := PChar(Subject);
if (Body<>'') then
lpszNoteText := PChar(Body);
if (SenderEMail<>'') then begin
lpSender.ulRecipClass := MAPI_ORIG;
if (SenderName='') then
lpSender.lpszName := PChar(SenderEMail)
else
lpSender.lpszName := PChar(SenderName);
lpSender.lpszAddress := PChar('SMTP:'+SenderEMail);
lpSender.ulReserved := 0;
lpSender.ulEIDSize := 0;
lpSender.lpEntryID := nil;
lpOriginator := @lpSender;
end;
if (RecepientEMail<>'') then begin
lpRecepient.ulRecipClass := MAPI_TO;
if (RecepientName='') then
lpRecepient.lpszName := PChar(RecepientEMail)
else
lpRecepient.lpszName := PChar(RecepientName);
lpRecepient.lpszAddress := PChar('SMTP:'+RecepientEMail);
lpRecepient.ulReserved := 0;
lpRecepient.ulEIDSize := 0;
lpRecepient.lpEntryID := nil;
nRecipCount := 1;
lpRecips := @lpRecepient;
end
else
lpRecips := nil;
if (FileName='') then begin
nFileCount := 0;
lpFiles := nil;
end
else begin
FillChar(FileAttach, SizeOf(FileAttach), 0);
FileAttach.nPosition := Cardinal($FFFFFFFF);
FileAttach.lpszPathName := PChar(FileName);
nFileCount := 1;
lpFiles := @FileAttach;
end;
end;
MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule = 0 then begin
Result := -1;
end
else begin
try
@SM := GetProcAddress(MAPIModule, 'MAPISendMail');
if @SM <> nil then
Result := SM(0, 0, message, MAPI_LOGON_UI , 0)
else
Result := 1;
finally
FreeLibrary(MAPIModule);
end;
end;
if Result <> 0 then
showmessage('Error al enviar el Correo ('+IntToStr(Result)+').')
end;
Gracias de antemano.