Ezt az oldalt archiváltuk

Ez az oldal most már archívum. Megtartjuk, hogy a tartalom elérhető legyen, de többé nem frissítjük. Az Orchard Dojo nevű másik oldalunkon azonban gyakran teszünk közzé Orcharddal kapcsolatos híreket, úgyhogy mindenképp nézd meg azt inkább. Ha pedig az Orchard fejlesztő cégünkkel, a Lombiq-kal kapcsolatos hírek érdekelnek, látogass el a weboldalunkra.

Email-küldés Orchard-ból: Orchard.Email és SMTP

Címkék: Orchard, IIS, üzemeltetés, E-mail, SMTP, tipp

Íme a várva-várt Orchard-üzemeltetési trilógia lezáró epizódja: megnézzük hogyan kell SMTP-szervert telepíteni Windows-os szerverre, ezután természetesen be is konfiguráljuk (a megfelelő biztonsági beállításokkal együtt), majd a lezáró lépésekben megmondjuk az IIS-nek és az Orchard alkalmazásunknak, milyen módon tudnak majd együttműködni az SMTP-szerverrel. De előbb lássuk, meddig jutottunk az előző részekben:

  1. Orchard-os weboldal beüzemelése IIS alatt
    • IIS-ben AppPool létrehozása az alkalmazásunknak
    • Default Web Site lekapcsolása/törlése
    • új site létrehozása és összekapcsolása az Orchard.Web könyvtárral
  2. Orchard-os oldal publikálása: Web Deploy
    • Orchard.Web project beállítása: Visual Studio -> Publish Settings, publish profil mentése
    • App_Offline
    • opcionális: Deployment Package beállításai
    • URL-Rewrite beállítások (Canonical Domain Name)

Először is előre elnézést kérek a magyar megnevezések esetleges pontatlanságáért, de nagyon régen nem használtam magyar nyelvű Windows-t.

No vágjunk bele! Telepítsük az SMTP-szervert a következő módon: Start-menüből indítsuk el a "Turn Windows features on or off" (Windows-szolgáltatások ki- és bekapcsolása?) alkalmazást, majd a Features (Szolgáltatások) menüpontból nyissuk meg az "Add features"-t (Szolgáltatások hozzáadása). Ezután pipáljuk ki az SMTP Server-t és járjuk el a szokásos Next-Next-Next-Finish körtáncot (és várjuk ki a vele járó rövid kerregést).
Előfordulhat (=nálunk előfordult), hogy a SMTP szerverhez tartozó service nem indul automatikusan a rendszer indításakor, tehát pl. update utáni restart után nem fog működni a levelezés. Ezt a Services (Local Services) szolgáltatáson belül orvosolhatjuk, ahol a Simple Mail Transfer Protocol elnevezésű service Startup type property-jét állítsuk Automatic-ra.

Indítsuk el az Internet Information Services (IIS) 6.0 Manager-t, válasszuk ki az SMTP Protocol-t és OK. Ezután jobbkatt a számítógép nevére (local computer) és a válasszuk ki a New/SMTP Virtual Server-t. A megnyíló varázslóban a következőket kell beállítanunk:

  1. Name: tetszőleges név az SMTP-szerverünknek, pl. "KókuszMail"
  2. IP: a szerverünk IP-címe, pl. 12.34.56.78
  3. Home directory: a szerver azon könyvtára, ahol az el nem küldött, visszapattant, stb. emaileket tárolja, általában C:/inetpub/mailroot.
  4. Domain: a számítógép neve.

Létrejött a szerver (ha nem indult el, indítsuk el), még állítsunk be néhány dolgot: jobbklikk és Tulajdonságok. Az általános beállítások között érdemes bekapcsolni a logolást, választhatunk formátumot és a logolás tulajdonságai között megadhatjuk, hogy mely könyvtárba kerüljenek a logok (pl. C:/inetpub/smtplogs), milyen adatokat tartalmazzanak és milyen időközönként/mérethatár szerint törlődjenek a korábbi logok. Az Access (Hozzáférés) fülön három további almenübe léphetünk be: Authentication (Hitelesítés, erre nem feltétlenül lesz szükségünk), Connection és Relay Restrictions. Az utóbbi kettő meghatározza, hogy kik csatlakozhatnak/használhatják a levelezőszerverünket: mi mindkettőhöz csak a saját szerverünk IP-jét adtuk hozzá (nyilván a helyes beállítások egyéni igények mentén eltérhetnek), illetve fontos még különbséget tenni a mindkét menüpont alatt megtalálható Only the list below / All except the list below (csak az alábbi lista / mindenki az alábbi listán kívül) választási lehetőségek között, nagy altalánosságban az előbbi lesz célravezető.
Végül a Messages (Üzenetek/Levelek?) menüpont alatt megadhatunk egy email címet, ahova a kézbesítetlen levelekről kaphatunk értesítést.

A következő lépésben nézzük be a Windows Firewall-hoz. Ugyan ennek a beállítása a Connection/Relay Restrictions miatt nem feltétlenül szükséges (adott esetben felesleges is lehet), azért nézzük meg, hogyan kell a tűzfalat úgy beállítani, hogy kívülről a szervert ne lehessen elérni, viszont a szerver tudjon kifelé kommunikálni. Először a tűzfal beállításai között az Inbound Rules alatt (bejövő forgalom) a Simple Mail Transfer Protocol (SMTP-In) szabály beállításai között válasszuk ki az Action-ök közül a Block the connection-t. Kimenő szabály létrehozására alapesetben nincs szükség, de bizonyos körülmények között szükség lehet rá: az Outboud Rules (kimenő forgalom) alatt hozzunk létre egy új szabályt (New Rules). Adjunk meg egy tetszőleges nevet (pl. SMTP-Out), a szabály legyen engedélyezve és a kommunikáció is legyen engedélyezve. A Protocols and Ports fülön (Protokollok és portok) állítsuk be a protokol típusát TCP-re, a helyi portot Specific port-ra (Meghatározott port?) és alatta írjuk be a 25-öt. Mentsük el a beállításokat és a tűzfallal meg is vagyunk.

De még mindig nincs vége: most jön az IIS-alkalmazásunk beállítása (a 7.5 Express-ben), de ez lényegesen rövidebb lesz, mint az eddigiek: az alkalmazásunk beállításai között a ASP.NET szekcióban találjuk az SMTP E-Mail opciót: az E-mail address-nél megadhatunk egy tetszőleges (akár fiktív) email címet, amely a feladója lesz a szerverről érkező emaileknek. Ezután pipáljuk ki a Use localhost-ot (Helyi számítógép?) és ha nem lenne beírva, akkor a portszámnak adjuk meg a 25-öst. Mentsük el a beállításokat, ezzel meg is volnánk. Ezek a beállítások egyébként a web.config-ban a következőképpen fognak megjelenni:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="[email protected]" />
        <network defaultCredentials="false" host="localhost" port="25" />
      </smtp>
    </mailSettings>
</system.net>

Végezetül lépjünk be az Orchard alkalmazásunk admin felületére és Settings/Email (Beállítások/E-mail, ha nem jelenik meg, akkor a kapcsoljuk be ezt a funkciót) adjuk meg a feladó email címnek ugyanazt, mint amit az IIS-ben adtunk meg, a host nevénél a szerver IP-címét, a port számának pedig a 25-öst. A maradék két checkbox-ot hagyjuk bejelöletlenül.

Ezzel el is készültünk, remélem ez a kis szösszenet nem okozott senkinél TLDRException-t!

Nincsenek hozzászólások