HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

E-mail műveletek az Outlook-ban


Office 13. rész

Példaprogram letöltése

40356 bájt

Elérkeztünk az Office, azon belül is az Outlook programozásáról szóló cikksorozatunk azon részéhez, amiben azt vizsgáljuk, hogy hogyan tudunk e-mailt küldeni az Outlook-on keresztül. Az Outlook alkalmazás használata erre a célra azért is jó, mert az így elküldött e-mail-ek is bekerülnek az Elküldött levelek mappába, tehát bármikor visszakereshetők.
Az új e-mail létrehozásához a CreateItem függvényt fogjuk használni. Ennek a függvénynek a segítségével különböző Outlook objektumokat tudunk létrehozni. Az objektum típusát egy OlItemType típusú konstanssal tudjuk megadni, mely a következők egyike lehet: olAppointmentItem (1), olContactItem (2), olJournalItem (4), olMailItem (0), olNoteItem (5), olPostItem (6), vagy olTaskItem (3). Ezek közül mi most az olMailItem konstanst használjuk, aminek következtében a függvény visszatérési értéke egy MailItem objektum lesz, és nekünk éppen erre lesz szükségünk.
A MailItem objektum To property-jébe kell megadnunk az e-mail címet, ahová a levelet küldeni akarjuk. A Subject property a levél tárgya, míg a Body a levél szövege. Ennyi általában elég is, tehát ha ezeket az adatokat megadtuk, akkor a Send metódussal el is küldhetjük az e-mail-t. A Send metódus hatására az új e-mail bekerül az Outlook Postázandó mappájába. Természetesen lehetőség van további adatok megadására, például tetszőleges fájlokat adhatunk hozzá a levélhez mellékletként, illetve megadhatjuk, hogy ki kapjon másolatot, illetve titkos másolatot a levélből.

Létrehozunk egy új MailItem objektumot, melyet az FMailItem változóban tárolunk.
var
  FMailItem: OleVariant;
...
  FMailItem:=FOutlook.CreateItem(olMailItem);
A To property-ében megadjuk a címzett e-mail címét, Subject property-ben pedig a levél tárgyát. Használhatjuk a BCC (Blind Carbon Copy - titkos másolat) és CC (Carbon Copy - másolatot kap) property-ket további címek megadására.
  FMailItem.To:=Edit1.Text;
  FMailItem.Subject:=Edit2.Text;
  FMailItem.BCC:=Edit3.Text;
  FMailItem.CC:=Edit4.Text;
Az e-mail-hez természetesen mellékleteket is csatolhatunk. Ezeket az Attachments property-n keresztül érhetjük el, illetve ennek Add függvényével tudunk új mellékleteket hozzáfűzni az e-mail-hez. A példaprogramban a mellékleteket egy TListBox komponensben tároljuk. Az Add függvény első paramétere annak a fájlnak a neve és elérési útvonala, amit a levélhez szeretnénk csatolni. A második paraméter egy konstans, ami azt határozza meg, hogy milyen módon kell a fájlt csatolni. Ez a következők egyike lehet: olByValue, olByReference, olEmbeddedItem és olOLE.
  i:=0;
  while i<=ListBox1.Items.Count-1 do begin
    FMailItem.Attachments.Add(ListBox1.Items[i], olByValue);
    Inc(i);
  end;
A mellékletek hozzáfűzése után a Body property-ben megadjuk a levél szövegét is. Az AutoForwarded property egy logikai értéket vehet fel. Igaz érték esetén a levelet automatikusan továbbítja. A Save függvénnyel elmentjük az új levelet, ami bekerül a Piszkozatok mappába, ugyanúgy, mintha az Outlook-ból mentettünk volna el egy új levelet.
  FMailItem.Body:=Memo1.Text;
  FMailItem.AutoForwarded:=CheckBox1.Checked;
  FMailItem.Save;
A Display metódussal megjeleníthetjük a levelet, mielőtt elküldenénk. Ezt a példaprogramban úgy oldottuk meg, hogy ha a CheckBox2 komponens Checked property-je igaz, akkor megjelenítjük, ellenkező esetben pedig a Send függvénnyel elküldjük a levelet. Ez utóbbi esetben az e-mail bekerül a Postázandó üzenetek mappába.
  if CheckBox2.Checked then begin
    FMailItem.Display;
  end else begin
    FMailItem.Send;
  end;
A MailItem objektumnak számos más property-je és eljárása van, amiket nem csak új levelek létrehozásánál, hanem régebbi e-mail-ek tulajdonságainak lekérdezésénél is használhatunk. Ezekből néhányra láthattunk példát a cikksorozat előző részében, tehát most csak azokat ismertetjük, amelyek még nem kerültek szóba. Ilyen például a Recipients property, melyen keresztül egy listát kapunk az e-mail címzettjeiről. A Recipients.Count property-ből kiolvasható, hogy a levélnek hány címzettje van. Az Item függvényen keresztül lekérdezhetők az egyes címzettek, paraméterként megadva a címzett indexét. A függvény visszatérési értéke egy Recipient objektum, amiből kiolvashatók a címzett adatai.
A SentOn property visszaadja a levél elküldésének dátumát és időpontját.
Ha a levél még nem lett megnyitva (elolvasva), akkor az UnRead property értéke igaz, ellenkező esetben hamis.
A UserProperties objetumot használhatjuk arra, hogy a levél egyéni tulajdonságait lekérdezzük. Ez egy lista, hasonlóan a Recpients property-hez, amiből UserProperty típusú objektumokat tudunk elérni. Hogy pontosan miről is van szó, jobban megértjük, ha megnézzük, hogy az Outlook-ból ez hogyan történik. A lista fejlécén kattintsunk a jobb egérgombbal, majd válasszuk a "Jelenlegi megjelenítés testreszabása…" menüpontot. Kattintsunk a "Mezők" gombra, és a megjelenő ablakban látni fogjuk, hogy milyen adatokat érhetünk el (mezők) a UserProperties objektumon keresztül. Egy MailItem objektumnál ez a property csak olvasható, új tulajdonságokat nem hozhatunk létre.
Ha egy MailItem objektumról másolatot szeretnénk készíteni, akkor használjuk a Copy függvényt. A függvény az összes Outlook elemnél használható, nem csak a MailItem-nél. Jól használható a Move függvénnyel együtt arra, hogy a levelekről másolatot készítsünk egy másik mappában. A Move függvény a levelet "átmozgatja" a megadott mappába, és az eredeti helyéről törli azt.
var
  MailItem1: OleVariant;
  CopyOfMailItem1: OleVariant;
...
  CopyOfMailItem1:= MailItem1.Copy;
  CopyOfMailItem1.Move(MyNewFolder);
A PrintOut metódussal kinyomtathatjuk a levelet, az alapbeállításokat használva.
A Reply függvény akkor használható ki, amikor egy levélre válaszolni akarunk. A függvény visszatérési értéke ugyanis egy olyan MailItem objektum, aminek címzettjéhez beírja az eredeti levél küldőjének címét.
  ReplyMail := MailItem1.Reply;
  ReplyMail.Body := 'Megkaptam!';
  ReplyMail.Send;
Ha már nincs szükségünk a levélre, akkor a Delete függvénnyel törölhetjük azt.



Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 405. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |