Inclust Infrastructure, Community & Expert

Inclust Blog

Újdonságok, fejlesztések, akciók, tech hírek

Bejegyzéseink

E-mail routing, avagy mi lesz az e-mail sorsa miután én elküldtem?

2012. 01. 24. - 14:57

Gyakran felmerülő kérdés az e-mailek továbbításának kezelése és ennek technikai megvalósítása. Amikor az MX típusú DNS rekord szóba kerül, sokan egyből felhúzzák a szemöldöküket, pedig alapvetően nem egy nagy ördöngösség ez, csupán a DNS alapjaival kell tisztában lenni hozzá.

Kliens oldalról nézve a levelek fogadására és küldésére egymástól különböző protokollok szolgálnak az interneten. A bejövő levelek fogadása többnyire a POP3 és az IMAP protokollok igénybevételével történik, a küldésre viszont egy másik, az SMTP (Simple Mail Transfer Protocol) van használatban. A két protokollcsalád teljesen függetlenül működik egymástól.

Az MX rekord

A DNS rekordok közül az MX típusú(ak) felel(nek) a levelek továbbításának irányításáért. Tegyük fel, hogy a felhasználó@domain.hu levelet szeretne küldeni a support@inclust.com címre. A felhasználó optimális esetben a saját internetszolgáltatója SMTP szerverén keresztül küldi el a levelet. A SPAM-ek kiszűrése miatt a szolgáltatók a hálózatukon kívüli forrásból általában nem szokták engedélyni a levélküldést a saját SMTP szervereiken keresztül. A szolgáltató szervere DNS lekérdezés után eljut az inclust.com DNS kiszolgálójáig, ahol megérdeklődi, milyen címre mutat az MX rekord. Válaszul megkapja az inclust.com domainhez zónájában beállított MX paramétert: mx01.inclust.com és mx02.inclust.com. Mostmár tudja, milyen címre kell kapcsolódnia, hogy kézbesíthesse a levelet, így felveszi a kapcsolatot az mx01.inclust.com alatti SMTP szerverre és jelzi, hogy e-mailt küldene a support@inclust.com címre. Ha a megadott felhasználó létezik az adott szerveren, akkor a levelet sikeresen kézbesíti.

Egy egyszerű parancssori eszköz az nslookup, aminek segítségével a DNS lekérdezést magunk is elvégezhetjük. Az inclust.com domain MX rekordjait például így kérdezhetjük le:

$ nslookup
> set type=mx
> inclust.com
inclust.com MX preference = 1, mail exchanger = mx01.inclust.com
inclust.com MX preference = 20, mail exchanger = mx02.inclust.com

A válaszból láthatjuk, hogy az inclust.com-hoz helyesen több MX rekord is be van állítva. A rekordok a zónában számokkal priorizálva (1 és 20) szerepelnek. Az alacsonyabb szám nagyobb prioritást jelent. Ha a legalacsonyabb prioritású szerver nem válaszol, akkor az SMTP a sorrendben eggyel magasabbal próbálkozik, hogy továbbíthassa a levelet, és így tovább. Ha ugyanakkora prioritású kiszolgálóból több akadna, akkor a kiszolgáló a terhelés elosztása miatt véletlen módon kerül kiválasztásra.

Végezetül egy hasznos link egy domain levelezésének kezeléséhez kapcsolódó technikai beállítások lekérdezésére: www.mxtoolbox.com