procedure MapiSendMail(const Recipient, Subject, Body, AttachedFile: string); var MapiMessage: TMapiMessage; lpRecipient: TMapiRecipDesc; FileAttach: TMapiFileDesc; SM: TFNMapiSendMail; MAPIModule: HModule; Err: integer; begin FillChar(MapiMessage, SizeOf(MapiMessage), 0); if (Subject <> '') then MapiMessage.lpszSubject := PChar(Subject);
if (Body <> '') then MapiMessage.lpszNoteText := PChar(Body);
if (Recipient <> '') then begin FillChar(lpRecipient, SizeOf(lpRecipient), 0); lpRecipient.ulRecipClass := MAPI_TO; lpRecipient.lpszName := PChar(Recipient); lpRecipient.lpszAddress := PChar(Recipient); MapiMessage.nRecipCount := 1; MapiMessage.lpRecips := @lpRecipient; end;
if AttachedFile <> '' then begin MapiMessage.nFileCount := 1; FillChar(FileAttach, SizeOf(FileAttach), 0); FileAttach.nPosition := Cardinal($FFFFFFFF); FileAttach.lpszPathName := PChar(AttachedFile); MapiMessage.lpFiles := @FileAttach; end;
MAPIModule := LoadLibrary(PChar(MAPIDLL)); try if MAPIModule = 0 then raise Exception.Create('MAPI is not supported on this system'); @SM := GetProcAddress(MAPIModule, 'MAPISendMail'); if @SM = nil then raise Exception.Create('MAPISendMail ProcAddress not found'); Err := SM(0, Application.Handle, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI, 0); if Err <> 0 then raise Exception.Create('MAPI Error sending mail (' + IntToStr(Err) + ')'); finally FreeLibrary(MAPIModule); end; end;
hvad snakker du om boris?? dkn's virker fint hvorfor laver du så en helt ny og pakker i zip og alt muligt... har du ikke noget liv ud over eksperten?? Hvis du har så meget tid må du gerne lave et voice chatprogram til mig!!
borrisholt >> har hentet, udpakket og implementeret det i mit eksisterende program - og afprøvet det -
jeg kan ikke se om det virker - idet den sendte mail, ikke havner i min 'Sendt post' bakke og det er et ønske, idet der er tale om en slags kvitterings-mail jeg skal udsende - er det mig der gør noget forkert ???
borrisholt >> jeg har nu tilføjet jvnf. din DCU/pas-fil - BlindCopyTo.... for at løse problemet med de manglende mails i 'Sendt post'... MEN, der bliver overhovedet ikke sendt noget !!! ??? d.v.s. - dette virker ikke: --------------------------------------------- With TMapiControl.Create(Self) do try FromName := 'min@adresse.dk'; Recipients.Add(Editemailadr.text); BlindCopyTo.Add('migselv@adresse.dk'); Subject := EditEmne.Text; Body := MemoBesked.text; Sendmail; finally free; end; --------------------------------------------- ????? jeg har endnu ikke prøvet dkn's kode...
dkn's kode og mit kode bygger på det samme .. Forskellen er blot jeg har pakket mit ind i en klasse, tilføjet nogle events, samt muligheden for at sende en mail direkte uden ar brugeren skal trykke på send i deres mail klient.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.