You are here:   Blogs
  

Azt hiszem, most fognak többen a fejemre koppintani. Tudom ugyan magamtól is, hogy elég gyenge az angol nyeltudásom és ez az évek során még meg is kopott, de igazán most fogok szembesülni vele. Elindítottam a web oldalam angol verzióját. Elég hiányos, a cikkek nagy százaléka nincs lefordítva, de hátha olyat is érdekel amit csinálok aki nem beszél magyarul (tudom, hogy a magyar világnyelv, de akkor is ... ).
További újdonság az oldalon, hogy elkövettem egy kiegészítést a Windows Server 2003 önmagában butácska POP3 szolgáltatásához. Gondolom vannak néhányan akik nem akarták, vagy nem tudták megvenni az Exchange-et, talán ők hasznát veszik.

[04/03/2009] Ez a cikk jó régen készült (ahogy ez a dátumból is látszik) az eredeti weboldalam számára: http://www.gomori.hu. Miután ezt az oldal családi célokra fogom használni, az informatikai cikkeket elköltöztetem ide.

Megpróbáltam bevezetni a Microsoft Windows Server 2003 POP3 szolgáltatását, de észrevettem, hogy két fontos (legalábbis számomra fontos) szolgáltatás hiányzik belőle. Ezek az Autoforward és az Alias címek (annak a lehetősége, hogy egy levelesládához több e-mail címet rendeljünk). Miután szükségem volt ezekre a funkciókra a bevezetéshez, írtam egy script-et ami kiegészíti a POP3/SMTP szolgáltatást velük.
A fent vázolt funkcionalitást SMTP Event Sink-ként JScript-ben valósítottam meg.
A script Access adatbázist használ (Microsoft Jet motor) a szükséges adatok tárolására. Az adatbázis két táblával rendelkezik:
Alias tábla:

Oszlop Adat
ID Automatikusan növekvő azonosító mező. Ez a megvalósítás nem használja.
Alias Az alias cím.
Mail Az eredeti cím.
Forward tábla:
Oszlop Adat
ID Automatikusan növekvő azonosító mező. Ez a megvalósítás nem használja.
Mail Az eredeti cím.
Forward Forward címek. Több cím is lehet benne
KeepOriginal Meghatározza, hogy a levelet kézbesíteni kell az eredeti levelesládába is vagy nem.
Minden e-mail tipusú mezőnek SMTP:name@domain formátumban kell lennie. Ahol a több cím megengedett pontosvesszővel kell elválasztani őket.
A script forráskódjában a DBfile változó tartalmazza a használt adatbázisfájl teljes elérhetőségét. Az adott környezetnek megfelelően kell beállítani.
Regisztráció: A regisztrációs folyamat megfelel bármely más SMTP OnArrival Event Sink regisztrációjának. A pontos parancsok itt találhatóak:

cscript smtpreg.vbs /add 1 OnArrival
	Pop3Helper CDO.SS_SMTPOnArrivalSink "mail from=*"
cscript smtpreg.vbs /setprop 1 OnArrival
	Pop3Helper Sink ScriptName "c:\Scripts\SMTP\pop3.js"

Szerencsére ehhez a megoldáshoz nem szükséges második SMTP Virtual Server-t létrehozni és átküldeni rajta a leveleket mert az üzenet mindíg MIME formátumban van, tehát nincs MAPI/MIME konverzió.
A forráskód és az üres adatbázis innen tölthető le.

Feltettem egy kérdést a levlistán a minap. Viszonylag ritkán szoktam kérdezni, de most megtettem. Kiváncsi voltam, hogy az előttem álló problémát mások hogyan szokták megoldani.
A feladat a következő:
Van egy Exchange szerverem (ami mellesleg DC, meg fájl szerver is) ami kezd kifogyni a szabad helyből. Úgy döntöttem, hogy a bővítést nem plusz diskek berakásával, hanem a jelenlegiek cseréjével fogom megoldani. Ez néhány órás rendszerleállást okoz. Ez felveti azt a problémát, hogy mi legyen a közben beérkező levelekkel. Az is lehetőség lenne, hogy nem törődöm az egésszel, mert a levelezőrendszerek alapértelmezett időtúllépései miatt nagy valószínüséggel nem okozna problémát, de ennél biztosabb megoldást szeretnék két okból:
1. Ha esetleg mégsem jönne össze az időtúllépésen belül megoldani a dolgot, nem  vet jó fényt rám, hogy a leveleket küldők felé késleletetésre vonatkozó üzenetek menjenek vissza, ráadásul ha valaki átállítgatta a saját SMTP szerveret időzítéseit, akkor nyugodtan lehet, hogy eldobja a leveleket.
2. Mi van akkor, ha az upgrade valamilyen okból nem sikerül, de az SMTP service mégis elindul és elkezd leveleket fogadni. Hogyan fogom ebben az esetben kibogarászni a közben bejött leveleket?
Feltettem azt a kérdést, hogy:
"Ki, hogyan oldaná meg azt a feladatot, hogy mondjuk van egy Exchange szerver amit karbantartási okokból néhány órára le kell állítani és nem szeretném, ha ez idő alatt a rendszerről visszapattannának a levelek. Magyarán az lenne a feladat, hogy valami átmenetileg átvegye a leveleket és tárolja addig amíg az Exchange újra nem él, majd beadagolja ezeket a leveleket."
Többféle választ kaptam a kérdésre:
1. Megpróbálták megmagyarázni, hogyan működik az MX rekord, az SMTP és a DNS. Ezekről van némi távoli körvonalas fogalmam, nem igazán erre vonatkozott a kérdés. Tuti, hogy rosszul fogalmaztam (szoktam. ).
2. Többen javasolták a szolgáltató által nyújtott másodlagos relay szolgáltatást. Ez technológiailag jó lenne, ugyanakkor pont most versenyeztettem a szolgáltatókat, mert a bérelt vonalért jelenleg fizetett összeg nem picit barokkos. Ebben a képlékeny helyzetben nem szeretnék semmit megrendelni a jelenlegi szolgáltatótól.
3. Álítsak be másodlagos SMTP szervet! Na igen, erre gondoltam. Ugyanakkor senki sem fejtette ki, hogy ezt hogyan tudom a legkissebb munkával megoldani. Magánbeszélgetésekben hallottam erre PostFixet, másik Exchange-et stb. Ezekkel az a baj, hogy messze vannak a legkissebb munkáról alkotott elképzeléseimtől. A PostFix azért mert nem értek hozza, az Exchange meg azért mert nem szeretnék atombombával lövöldözni a bolhára.
Ezek után gondoltam, hogy maradok a fejemben lévő eredeti megoldásnál. Ez abból állna, hogy fogok egy XP-t, felrakom rá az SMTP Service-t, írok egy Event Sink-et ami berakja a levél fejlécébe az SMTP boríték recipient mezőjét és egy scriptet ami felveszi a Drop könyvtárból a leveleket és az Event Sink által berakott fejléc mezőben lévő címekre elküldi a levelet (ezek a scriptek úgy is jól jönnének nekem később másra).
Neki is kezdtem a munkának amikor is az MSDN-en mászkálva (http://msdn.microsoft.com/en-us/library/ms875938(EXCHG.65).aspx) valamin megakadt a szemem:
"The address list corresponds to the set of RCPT TO SMTP protocol commands received for the message, or the X-receiver headers present at the beginning of the message if it was submitted to the local SMTP service pickup directory."
Nézzük csak meg. Mi van akkor, ha a bejövő levelet az SMTP szolgáltatással lepakoltatom a Drop könyvtárba? Kipróbáltam. Szépen megjelenik benne az X-receiver mező. Hopp, Event Sink kilőve. Nem kell mert az SMTP megcsinálja maga. Ha már itt tartunk, továbbmentem. Némi konfig után beraktam az így kapott levelet a Pickup könyvtárba. A levél elment és megkaptam a céges levelezőben. Hurrá!!!  Ugy látszik sikerül megoldanom a legkisebb munkával a problémát, még programolni sem kellett, hozzá. Akkor most a procedúra (hátha egyszer jól jön másnak is):
1. XP telepítés (Na ez nem fog kelleni, mert van gép amit tudok rá használni)
2. SMTP Service telepítés (XP tűzfalon beengedni a 25-ös portot!!!)
3. SMTP Service-en beállítani a szóban forgó domain-t mint lokális domain-t.
4. DNS-ben átírni az MX-et
5. Megcsinálni a szerver átállást, leellenőrizni, hogy minden megy-e
6. Visszaírni (kivenni) az MX-et
7. Kivenni az SMTP Service-en a szóban forgó domain-t a lokális domain-ek listájából.
8. A Drop könyvtár tartalmát átmásolni a Pickup-ba.
Kész.
Ha minden jól megy a jövő hét végén meg is csinálom az upgrade-et. Remélem sikerül gördülékenyen lebonyolítani a dolgot. Valahogy nem szeretnék olyan cikket írni a jövő hétvége után amilyet JoeP-nek sikerült (http://emaildetektiv.hu/2005/07/14/a-lehetetlenre-egy-kicsit-varni-kell/). Abszolult együttéreztem vele annak idején amikor olvastam.

Frissítettem a web oldalamat. Megint kijavítottam egy hibát a jelszó lejárat értesítő scriptben. Így jár az ember, ha megír valamit amit saját maga nem használ. A visszajelzés szerint mostmár működik. Belepiszkáltam a Levelesláda méretértesítőbe is, itt mondjuk csak egy szépséghibát javítottam ki ami zavart, a működést nem befolyásolja.
Azt érzékelem, hogy a második SMTP Virtual Server létrehozásával kapcsolatos lépésről-lépésre leírásom vagy hibás, vagy hiányos (a nagyját egy már megszünt MS KB cikkből vettem) így kellene írnom helyette egy másikat. Ez ráadásul nem is használható minden esetben, mert az fix, hogy egy SBS-es ISÁs multihome környezetben nem fog működni (ráadásul az ISÁhoz nem is értek, hogy kitaláljam mit kéne beállítani rajta).
Közben készülget az oldal angol verziója is.

Tegnap végre kézhezkaptam az új alaplapot, ma be is üzemeltem, egyenlőre jónak látszik.

Elsősorban azért, hogy ne dolgozzak folyamatosan, nem vittem gépet magammal a nyaralásra, csak a már korábban emlegetett PDAt amit a hétköznapokban is használok mint telefont, meg mozgó outlookot. A felállásról annyit, hogy a saját CAm tanusítványán kívül semmi sincs a gyári dolgokon kívül telepítve rajta. Összelőttem az Exchange ActiveSync-el, és eddig nem is igényeltem egyéb eszközt rá (eddig általában volt notebook, tehát bármit meg lehetett csinálni).

Otthon a leveleimet úgy kapom meg, hogy az Exchange-re jönnek be a céges dolgok, az Outlookban az Exchange accountom mellé még felvettem a freemailt mint POP3/SMTP accountot (erre érkeznek a különböző levlistás cuccok). Mielőtt eljöttem nyaralni, bekapcsolva hagytam az Outlookot, hogy szedje le a freemailes leveleimet is (tudom, hogy ez ronda megoldás, de ez volt egyszerű). Így elértem, hogy a PDAn mind a céges, mind a freemailes leveleimet tudjam olvasni. A freemailes levelekre persze így nem tudok válaszolni, de ez nem is volt célom (gondoltam naívan, megleszek nélküle).

El is telt egy hét nyugiban, olvasgattam a leveleim és elégedett voltam. Ekkor beesett egy megkeresés az egyik a weboldalamon lévő cikkel kapcsolatban. Ugyan a blogban leírtam, hogy magamon és házon kívül vagyok, de csak válaszolnék, hátha a kolléga nem olvassa és még azt hihetné, hogy nem foglalkozom vele. Azt tudtam, hogy simán nem fog menni, így nekiálltam eme egyszerû feladat megoldásának:

Küldjünk levelet a freemailrõl PDAval!

1. Bejelentkeztem a csodás freemailes webes felületre, végigküzdöttem magam a reklám és frame hegyeken, majd egy 2x2 centis ablakban megírtam a levelet. Megnyomtam a Mehet feliratú gombot és ...

nem történt semmi.  Többször, különböző nekifutásokkal próbálkoztam, de a levél nem ment el. Webes felület kilőve.

2. Feldeztem, hogy a freemailnek van WAPos felülete a http://wap.freemail.hu címen (PDAs persze nincs). PDAn csak egy infó oldalt kapok, mert a packet ie ugye nem wap böngésző. Hurrá, lőjünk WAP böngészőt Pocket PCre. A freemail előzékenyen fel is ajánlja a WinWAP nevű cuccot (http://www.winwap.com/). Felmegyek az oldalra, látom van Pocket PC 2003-ra készült kiadás, letöltöm a próba verziót, abból is az exe-t.

Lejön.

Elindítom.

Közli, hogy nem erre a platformra való.

Hurrá! 

Akkor leszedem a zip kiadást.

Lejön.

Megpróbálom kicsomagolni.

Nem megy, nincs unzip a PDAn.

Irány a gugli.

Találok Pocket PCs unzipet (ezyUnZIP nevezetűt).

Letöltöm.

Elindítom.

Közli, hogy nem erre a platformra való.

Feladom (legalábbis a wapos felületet).

3. Ugye az az alap gond ezzel az egész levélküldéssel, hogy nincs olyan SMTP szerverem ami átvenné a levelet, mert fogalmam sincs, hogy ki a szolgáltatóm ebben a pillanatban, bárki más pedig elhajtana, hogy nincs jogom relayre. Gondolkozzunk fordítva. Nem folyamatos levelezést akarok, hanem egyetlen levelet elküldeni. Ha SMTP szervernek megadom a címzett domainjéhez tartozó MX rekordban lévõ szervert akkor annak át kell vennie a levelem, hiszen innen nem relay, hanem inbond levél. A címzett freemailes. Nézzük meg, hogy mi az elsődleges MXe a freemailnek.

Nslookup.

Oppardon, ez PDA, nix nslookup.

Felmegyek a domain.hu -ra keresés, freemail.hu, DNS lista, hurrá, van MXem:

fmx.freemail.hu

Létrehozok a PDAn egy POP3/SMTP accountot, POP3 szervernek beírom a freemail.hu -t, SMTP szervernek az fmx.freemail.hu -t. Elküldöm a levelem és megkönnyebbülök. 

Már csak arra vagyok kíváncsi, hogy ez a kis kaland mibe került (roaming díj, GPRS, stb.).

Azért látszik, hogy ez még Beta (vagy lehet, hogy így marad?). Az elõbbi bejegyzést nem ette meg egyben, közölte, hogy túl hosszú. :-/

Tettem néhány felfedezést a használhatóságával (vagy használhatatlanságával kapcsolatban. Az egyik kellemes meglepetés a blogomhoz választott Msn Spaces (teljsen véletlenül nyúltam bele, pont ez jött szembe amikor rám jött a firkálhatnék). Most fedeztem fel ugyanis, hogy nagyon korrekt PDAs felületet ad, így most tudok ide írni.

Itt ülök a nyaralás vége felé a szállodai szobában és már nagyon unatkozom. Mennék haza (vasárnap hajnalban megyek is). Másfél hete a PDAmon (HP ipaq 6340) élek (web, e-mail), mert notebookot nem hoztam magammal.

Elmentem nyaralni. Két hétre bezár a bazár. Ha minden igaz, utána több időm lesz publikálni az elkészült dolgaimat, befejezni a félkészeket.

Egy kedves kolléga használni szerette volna a jelszó lejárat értesítő scriptemet. Ennek kapcsán találtam benne hibákat. Kijavítottam, felraktam az új verziót az oldalamra.

Megnősültem.

Mostmár leírom, pénteken nem volt időm rá.
Felhívom pénteken a nagykert, hogy mégis mi van az alaplapommal, amit keddre ígértek, mert nem hívott senki.
- Ja, az alaplapok megérkeztek kedden, de azok is a hibás szériába (ugye az a "néhány" darab) tartoznak.
Várunk tovább ...
Én most türelmes vagyok, két hétre lehúzom a rolót.

 Megjegyzés

Ahhoz, hogy megjegyzést tégy a bejegyzésekhez, regisztrálnod szükséges. Egyszerűen válaszd ki a regisztráció linket a jobb felső sarokban és add meg a szükséges információkat. Ha bejelentkeztél, fűzhetsz megjegyzést a bejegyzésekhet. 

Már regisztráltál? Kattints ide a bejelentkezéshez. 

 

 Keresés