vložil Radek Červinka
7. prosince 2010 22:57
Někdy je třeba z aplikace umožnit zaslání mailu uživatelem. Nejjednodušší (ale ne vždy použitelný, protože ne každý má instalovaného klienta) způsob je přes MAPI (Mail API).
Jedná se o dlouho používané rozhraní pro práci s nainstalovaným poštovním klientem a je podporované prakticky všemi klienty (Outlook, Outlook Express, Thunderbird, Opera, SeaMonkey atd). V současnosti se někdy nazývá spíše Simple MAPI, jelikož MS ve své neskonalé moudrosti spolu s Outlookem přivedl další rozhraní MAPI, které je ale pouze pro spolupráci s ním (i když i Outlook podporuje Simple MAPI).
Pro rozlišení je toto nové MAPI nazýváno Extended MAPI a kromě opravdu velkých možností se vyznačuje tím, že nesmí být používáno z .NET (MAPI v .NET, KB 813349).
Více o Simple MAPI a spol. - KB 200018.
Ale zpět Simple MAPI a Delphi. Nejjednodušeji přes JCL a jednotku JclMapi. Jak by řekl Pohlreich - je to jednoduché jak žebřík.
var
oJclEmail: TJclEmail;
begin
oJclEmail := TJclEmail.Create;
oJclEmail.Recipients.Add('radekc@nekde.cz', 'Radek Někde'); //To
oJclEmail.Recipients.Add('pavel@neco.cz', 'Pavel', rkCC); //CC
oJclEmail.Subject := 'Testovací mail'; // předmět
oJclEmail.Attachments.Add('c:\test.pdf'); // nějaká příloha
// text zpravy
oJclEmail.Body := 'Tělo mailu. '+#13#10+'S pozdravem mailer';
oJclEmail.Send(True); // zobraz dialog před posláním
oJclEmail.Free;
end;
Příště zkusíme něco složitějšího.