Delphi - Email küldése programból

forráskód letöltése
A Delphi 4.0 C/S verziójával lehetőségünk van igen egyszerűen e-mail-t küldeni programból. Ehhez nem kell más, mint egy olyan számítógép, amelynek van Internet hozzáférése, na és persze az sem árt, hogy ha van egy e-mail postafiókunk valahol. A Delphi 4.0 C/S verziójával lehetőségünk van igen egyszerűen e-mail-t küldeni programból. Ehhez nem kell más, mint egy olyan számítógép, amelynek van Internet hozzáférése, na és persze az sem árt, hogy ha van egy e-mail postafiókunk valahol.

A feladat elvégzéséhez a TNMSMTP komponenst fogjuk felhasználni. Ez a komponens már adott volt a 3.0-s verzióban is, de ott sajnos mint ActiveX komponens létezett, így ennek felhasználhatósági köre korlátozott. (Például TDataModule-ban nem lehetett elhelyezni.) Ezért jobb választás, ha lehetőségünk engedi, hogy a 4.0-ban lévő komponenst használjuk fel, melynek szolgáltatásai is bővültek elődjéhez képest.

Az e-mail küldése két lépésből áll. Elsőként létre kell hozni a kapcsolatot a kliens gép és a mail szerver gép között az Interneten, majd meg kell adni az e-mail adatait és elküldeni.

Az első lépéshez csupán arra van szükség, hogy megadjuk a mail szerver nevét. Ez mindenkinek más és más lehet. Például, akik Matáv előfizetők, ott mail.matav.hu, vagy a DataNet-nél mail.datanet.hu. Ezt a címet kell megadni a TNMSMTP komponens Host property-énél. Ezek után a Connect eljárás hívásával már meg is próbálhatjuk a kapcsolatot létrehozni.

A mellékelt példaprogramban az egyszerűség miatt nincs semmiféle hibakezelés megvalósítva, így ha valami miatt nem jön létre a kapcsolat, akkor a TNMSMTP komponens saját hibaüzenetei jelennek meg.

Ha sikeresen létrejön a kapcsolat a kiszolgálóval, akkor létrejön az OnConnect esemény. Ekkor már küldhetjük is az e-mail-t. Persze előtte nem árt megadni az e-mail adatait.

A PostMessage property tartalmazza azokat a property-ket, amelyekre nekünk most szükségünk van.

Itt tudjuk beállítani, hogy kitől származik az üzenet (FromAddress, FromName property). Valamint azt is, hogy kinek esetleg kiknek szánjuk a levelet (ToAddress property).

A Subject property-ben adhatjuk meg levelünk tárgyát, míg a Body property-be kerül a levél szöveges része.

Ha a levélhez állományokat is szeretnénk csatolni, akkor az Attachment property-ben felsorolhatjuk ezeket teljes elérési útvonallal és állomány névvel.

Ha minden beállítást elvégeztünk, akkor már csak a SendMail eljárást kell meghívnunk, amely elküldi a levelet.

Ha ez az eljárás végzett, akkor legvégül a létrehozott kapcsolatot kell megbontanunk a Disconnect eljárás meghívásával.