Elektronikuslevél-Beépítés
Total Page:16
File Type:pdf, Size:1020Kb
Kovácsmûhely Elektronikuslevél-beépítés Tartsuk ébren weboldalunk felhasználóinak az érdeklõdését: figyelmeztessük õket elektronikus levélben a számukra érdekes hírekre és vitákra! öbb mint húsz éve használom a számítógépemet az nem is olyan nagyon bonyolult, embertársaimmal való kapcsolattartásra. Kezdetben csak de a fejlesztésre és hibakeresésre szánt idõt és erõfeszítéseket alkalmanként írogattam a helyi hirdetõtáblára, mindez sokkal érdemesebb egy létezõ csomag megtanulására fordítani. Tmára személyes és szakmai életem elválaszthatatlan részévé vált. Akinek azonban van egy kis tapasztalata a web és az adatbá- Ebben a hónapban – miközben folytatom a kicsomagolást új zisok témában, az tudja, hogy egy webfórumcsomag létre- © Kiskapu Kft. Minden jog fenntartva chicagói otthonomban, és küzdök a felmerülõ hibákkal, hozása nemigen áll másból, mint hogy összepakol néhány amelyek megnehezítik, hogy folytassam a Bricolage-ról szóló táblát (felhasználók, üzenetek és a hírcsoportok), majd megadja cikksorozatomat – a jelenkor néhány, az elektronikus levelekkel a jogosultságot az embereknek, hogy bejegyzéseket (küldemé- kapcsolatos kérdésébe pillantok bele. Írásomban a web-, illetve nyek) helyezhessenek el az egyes hírcsoportokban. a levelezésegyesítésrõl, illetve a levelezés és az adatbázis Ezek a rendszerek több mint elégségesek egy kis vagy közepes egyesítésérõl, sõt még az SMTP-szintû levélszemét elleni méretû weboldal számára; de ha idõközben hatalmasra duz- harcról is szó esik. zadna is a rendszerünk, az elküldött üzenetek ezreivel és fel- használók százaival birkózva is valószínûtlen, hogy komoly A web és az elektronikus levél egyesítése hatása lenne ezekre a rendszerekre. Ugyanis valamennyi rend- Ma már valóban nehéz olyan nagy és korszerû weblapot szer relációs adatbázisokat használ az adattárolásra, márpedig találni, amelyen nincs megoldva felhasználói visszajelzések még a legkisebb és legegyszerûbb korszerû adatbázisrendszer és jelentkezések kérdése. A kérdés csak az, hogy miként illeszt- is képes napi néhány ezer tranzakció kezelésére. hetünk be egy fórumot a weblapunkra? A válasz legtöbb eset- Egyre gyakrabban fordul elõ azonban, hogy az egyszerû ben attól függ, hogy milyen oldalt használunk. webalapú fórum már nem bizonyul elegendõnek. Bár az embe- Amennyiben nagyobb eszközkészletet alkalmazunk, például rek általában hajlandók végignézni a webalapú fórumokat, OpenACS-t, Zope-ot vagy PHPNuke-ot, legalább egy könnyen nemigen térnek vissza nap mint nap, hogy kövessék a vita telepíthetõ csomagot fogunk találni a témában. Ilyenkor a fonalát. Hiszen míg az elektronikus levél aktív (push) médium, felület egyrészt összhangban lesz a statikus oldalakkal és az amelyben az adatokat elküldik nekünk, a fórumok passzívak egyéb alkalmazásokkal, valamint ezek az eszközkészletek (pull), ahol az új üzenetek a lekérésünkre várnak. oldalunk más részeivel azonos felhasználói és engedélyrend- Az aktív és passzív felosztás nem új találmány; akik még emlé- szert használnak a fórumok elérésére. Más szavakkal, nem keznek közülünk a web elõtti internet korára, jól tudják, hogy szükséges külön oldalgazdát és fórumgazdát kijelölnünk; ugyanezen felosztás alapján különböztettük meg a levelezõ- bárki, aki rendszerfelügyeleti jogosultságokkal rendelkezik az listákat és az Usenet hírcsoportokat. A megoldás végül az lett, oldalon, minden további beállítás nélkül képes lesz a fórumot hogy néhány mail-Usenet átjárót kellett készíteni, amelyek és bármilyen más alkalmazást futtatni. közül sokat még ma is használnak. A GNU Emacs legfrissebb Másik megoldásként a kiszolgálónkon telepített kiszolgáló- hibáiról egyaránt tájékozódhatunk, ha feliratkozunk a bug- oldali technológiákat felhasználva felrakhatunk valamilyen gnu-emacs levelezõlistára, vagy ha elolvassuk a önálló webfórumcsomagot. Ha például PHP-rendszerünk van, gnu.emacs.bug hírcsoportot a Useneten. A két dolog egyen- tegyük fel a Phorum csomagot. Ez ugyan nem fog teljes mér- értékû, s egy átjáróprogramon alapul, amely felesleges ismét- tékben beépülni oldalunk egyéb részeibe, viszont igen haté- lések nélkül viszi át az üzeneteket egyik rendszerrõl a másikra. kony és megbízható csomag, ami MySQL és PostgreSQL alatt Létezik ilyen rendszer a webalapú fórumokhoz is? A válasz egyaránt jól mûködik. Az alapul szolgáló technológiák szerint egyértelmû igen. Végtére is nem túl nehéz elérni egy web-, rengeteg lehetõség között választhatunk, a PHP és JSP nyel- illetve adatbázisrendszeren, hogy új üzenetek érkezésekor vektõl kezdve egészen jó öreg Perlben írt CGI-programokig. bizonyos híranyagokat egy adott elektronikus levélcímlistára Természetesen kereskedelmi terméket is választhatunk, meg- küldjön el. Kifinomult figyelmeztetõrendszer felépítése sem vásárolhatunk egy olyan terméket, mint például a WebCrossing. sokkal nehezebb, létezik például egy Forums OpenACS-cso- Néhány ügyfélnél használtam már a WebCrossing-ot, és meg mag, amely lehetõvé teszi, hogy a felhasználók az adott fóru- kell mondanom, annak ellenére, hogy ez a csomag jóval több mokra vagy fórumon belüli hírcsoportokra feliratkozzanak, lehetõséget ajánl, mint a Phorum-hoz hasonló nyílt forrású majd havi, napi, illetve azonnali frissítést kérjenek maguknak. csomagok, a különbségek a legtöbb esetben nem olyan nagyok, Más szavakkal a Forum program képes elektronikuslevél-tömö- hogy megérje pénzt költeni rá, nem beszélve arról, hogy ehhez rítvényeket (digest) készíteni, pontosan úgy, ahogy azt a lista- egy olyan csomagot kellene megtanulni, amelyet nem lehet programok teszik. sem módosítani, sem fejleszteni. Végül létrehozhatjuk a saját fórumcsomagunkat is, ahogy Levél küldése azt néhány évvel ezelõtt magam is megtettem e hasábokon. Ha viszont azt szeretnénk, hogy a jelentkezõk saját elektro- A webalapú fórumok kialakítására képes programok megírása nikus levelezõprogramjukkal is üzeneteket tudjanak küldeni 72 Linuxvilág Kovácsmûhely a listára, a dolgok bonyolultabbá kezdenek válni, ugyanis Levelezõlisták és adatbázisok figyelembe kell vennünk néhány tényezõt: Az általam ajánlható legjobb megoldás, ha mindent fejreál- lítva egy már létezõ elektronikus levéllista alapján hozunk • Biztonság és engedélyek – bárki küldhet üzeneteket és vála- létre magunknak webalapú fórumot. A qmail szerzõje, szolhat a fórumra vagy csak a tagok tehetik meg? Ha a Dan Bernstein által készített ezmlm például rendelkezik egy fórum elérése valamilyen szinten kötött, nyilván kell tarta- ezmlm-idx nevû bõvítménykészlettel, amely többek közt nunk az engedélyezett elektronikus levélcímeket. Minthogy lehetõvé teszi, hogy a feliratkozók listáját MySQL- vagy közismerten nem túl nagy mûvészet összekalapálni egy PostgreSQL-adatbázisban tároljuk. A lista beállításakor a hamis elektronikus levélfejlécet, nem igazán lehet bizton- rendszergazda egyúttal néhány adatbázistáblát is létrehoz, sággal megállapítani, hogy a küldemény valóban a felirat- majd az ezmlm-ben beállítja õket. kozótól jött-e, esetleg éppen egy féreg vagy vírus üzenget Így egy jó webfejlesztõ létrehozhat egy elektronikus levél- a feliratkozó nevében. listát, majd azt tükrözheti a weben. Bármi, ami a webrõl • MIME – a legnépszerûbb elektronikus levelezõprogramok érkezik, úgy néz majd ki, mintha a pillanatnyilag bejelent- (különösen a Microsoft Outlook) alapértelmezés szerint kezõ felhasználótól érkezne, akinek feltételezhetõleg be egy vagy több csatolmánnyal küldik a leveleket. A Forum kell jelentkeznie a webalapú fórumalkalmazásba. Bármilyen programnak elég intelligensnek kell lennie, hogy kezelni adat, amely a pillanatnyi felhasználótól érkezik, ugyanazon tudja az ilyen típusú leveleket, kiszedve a csatolmányt és a szokásos ellenõrzésen megy keresztül, amit az ezmlm a HTML-részeket. egyébként alkalmaz. © Kiskapu Kft. Minden jog fenntartva • Méret – amennyiben a levélfórum-átjáró nem elég okos Egyelõre úgy tûnik, hogy a mailman levelezõlista, amely ahhoz, hogy kigyomlálja a különösen nagy küldeményeket, minden MTA-val képes együttmûködni (például qmail, Send- akkor egy hatalmas küldemény postázásával bárki szolgálat- mail, Postfix és Exim) és folyamatos, lenyûgözõ fejlesztés alatt megtagadás- (Denial-of-Service) támadást intézhet a web- áll, semmiféle olyan megoldással nem rendelkezik, amellyel oldalunk ellen. A programnak elég okosnak kell lennie ahhoz a felhasználóit relációs adatbázisba menthetné. Ugyanakkor is, hogy az ilyen leveleket kiszûrje, és az oldal gazdájának viszonylag biztonságos, könnyen használható Berkeley DB lehetõvé tegye a felhasználói levélméretek korlátozását. fájlokban tárolja õket, így webalapú fórumcsomagunk innen • Témák – a legtöbb fórumprogram az együvé tartozó kül- kiolvashatja õket. deményeket a küldemény címe alapján együtt kezeli, vagy Ha a fórumokat levelezõlistaként használjuk, azért felmerülhet megjegyzi, hogy melyik levél melyik levélre volt válasz. néhány gond: többek között a témacsoportok kérdése, amely Igaz, ez nem túl egyszerû, de a nyomon követés a web- és – mint fentebb említettük – egészen másképp kezelhetõ az elektronikus levél egyesítése esetében is megoldható, bár elektronikus levél és a web esetében. Vegyük ehhez hozzá azt mindkét médium más típusú rendszert alkalmaz az ilyes- a tényt, hogy a legtöbb fórum a felhasználóinak lehetõvé teszi, féle dolgok nyilvántartására. hogy kiemeléseket és csatolmányokat használjanak, sõt akár szerkeszthessék is a saját küldeményeiket – és máris nyilvánva- Számos megoldást láttam az ilyen és hasonló nehézségek lóvá válik, hogy ez a házasság a két médium között nem lesz kezelésre, de mind a mai napig nem találtam olyat, amelyik éppen súrlódásmentes,