Mnogi od vas se zasigurno pitaju što se događa „ispod haube“ kada pošaljete email poruku iz svog omiljenog email klijenta, odnosno na koji način se odvija komunikacija i primopredaja (engl. relay) poruke. One koje to zanima, a žele znati osnovne najpopularnijeg mailing protokola, u nastavku teksta uvodim vas u proces spomenutog načina komunikacije.
Krenuvši od klijentske strane, nije nikakav problem instalirati i konfigurirati softver koji će vršiti proces slanja i primanja email poruka, tzv. klijent-server komunikacija, ako znamo potrebne parametre koji će to omogućiti. Neki od najpopularnijih računalnih email klijenata su Mozilla Thunderbird i Microsoft Outlook. Ovdje ću se fokusirati na lokalne email klijente, dakle one koje instaliramo na svojim računalima, iako su, pogotovo u zadnje vrijeme, popularniji oni koje koristimo na Internetu – web-based email sustavi poput popularnog Google Maila, Yahoo! Maila, Hotmaila itd. Vendori ih još vole nazivati cloud-based email, jer danas je cloud Cloud, odnosno računalni oblak, je tehnologija koja omogućava pohranu i obradu podataka na vanjskim poslužiteljima dostupnim putem interneta. Zahvaljujući tome korisnici mogu pristupiti svojim datotekama i aplikacijama s bilo kojeg mjesta na svijetu, pod uvjetom da imaju pristup internetu. Koje su glavne prednosti korištenja oblaka? Elastičnost: Oblak omogućava prilagodbu resursa ovisno o potrebi, što znači da ih možete lako povećati ili smanjiti, što je posebno korisno za tvrtke koje... SaaS (Software as a Service) je model isporuke softvera u kojem su aplikacije hostane u oblaku i dostupne korisnicima putem interneta na pretplatničkoj osnovi. Jedan od najvažnijih aspekata SaaS-a je taj što korisnici ne moraju brinuti o web hostingu ni o ažuriranju softvera. Svim aspektima upravlja pružatelj usluge, što omogućava tvrtkama da se usredotoče na svoje osnovne aktivnosti. Pružatelj je odgovoran za održavanje infrastrukture, ažuriranja, sigurnost i druge tehničke... PaaS (Platform as a Service - Platforma kao usluga) je model u oblaku koji korisnicima pruža platformu za stvaranje, testiranje i implementaciju aplikacija. Nudi potpuno programsko okruženje koje uključuje alate, knjižnice, aplikacijske poslužitelje i baze podataka. Zahvaljujući PaaS-u, programeri se mogu usredotočiti na kodiranje, umjesto da upravljaju infrastrukturom. Jedna od glavnih prednosti PaaS-a je njegova fleksibilnost. Omogućuje brzo skaliranje resursa ovisno o potrebama aplikacije, što je izuzetno korisno za tvrtke...
Da bi uopće mogli slati legitimne emailove moramo kod nekog od pružatelja usluga imati kreiranu email adresu, bilo na vlastitoj domeni, bilo na nekoj domeni koja nije u našem vlasništvu. Zašto ovdje spominjem riječ legitimne? Očito zato jer postoje načini da zaobiđemo apsolutno sva pravila valjane email komunikacije, odnosno ne moramo imati niti email klijent, niti email adresu, niti domenu da bi mogli poslati email poruku. Iz ovog teksta ćete možda i naučiti kako zaobići ta pravila no moram napomenuti da: „We do not authorize the use of this blogpost to transport unsolicited, and/or bulk e-mail.“ Ovu poruku koristi veliki broj transportnih servisa (SMTP) prilikom spajanja na iste, tzv. welcome disclaimer message, naravno umjesto “blogpost” administratori stavljaju “server” ili “system”
Jedan od spomenutih parametara koje moramo znati kako bi konfigurirali email klijenta jest SMTP (engl. Simple Mail Transfer Protocol). U osnovi, to je jedan od glavnih protokola odnosno servisa koji služi za slanje poruka s email klijenata i za transfer email poruka između mail servera, odnosno MTA (engl. mail transfer agent). Neki od najpoznatijih mail servera su Microsoft Exchange, Qmail, Exim i Sendmail.
Dijagram e-mail komunikacije od klijenta do klijenta.
Svaki od mail servera radi na sličnom principu i imaju neke zajedničke osobine no ipak postoje neke unutarnje razlike u izvedbi tehnologije koje ovdje neću opisivati. SMTP SMTP (Simple Mail Transfer Protocol) je standardni protokol koji se koristi za slanje e-mail poruka između poštanskih servera u računalnim mrežama. To je komunikacijski protokol koji koriste klijenti elektroničke pošte (kao što su Microsoft Outlook, Mozilla Thunderbird ili poštanske aplikacije za mobilne uređaje) za slanje e-mail poruka poslužitelju odlazne pošte, koji zatim prosljeđuje poruku ciljnom serveru. Glavne karakteristike i funkcije SMTP uključuju: Slanje e-mail poruka: SMTP se koristi za...
Dakle, ono što mora biti zajedničko svim mail serverima je jezik kojim komuniciraju, a to rade pomoću SMTP servisa u server-server komunikaciji. Ista stvar vrijedi i za klijent-server komunikaciju. Svojem email klijentu, npr. Outlooku, vi morate zadati preko kojeg SMTP servera ćete email dostaviti primatelju.
Postavke Microsoft Outlook e-mail klijenta.
Nakon što ste pravilno podesili email postavke spremni ste za slanje i primanje email poruka. Napisali ste poruku koju želite nekom poslati i u trenutku slanja s email klijenta isti zapravo izvodi nekoliko komandi prema postavljenom SMTP serveru enkapsuliranih u paketima koje mi zapravo ne vidimo, ali u sljedećem primjeru ću napraviti okvirni prikaz kako to izgleda. Moram napomenuti da se proces može razlikovati a ovisi o tome kako je SMTP server konfiguriran i koji su njegovi zahtjevi, no u ovom primjeru proces će biti temeljen u suradnji sa SMTP serverom koji uglavnom dobijemo od pružatelja Internet usluga (ISP), tzv. Open Relay SMTP server koji je dostupan samo korisnicima njihovih internetskih usluga. Npr. ako koristite T-Com kao pružatelja usluga, možete koristiti i njihov SMTP server “mail.t-com.hr”. Osnovni (komunikacijski) alat kojim ću se koristiti u „razgovoru“ sa SMTP servisom je telnet naredba koju možemo pozvati iz komandnog sučelja.
Da bi uspostavili kontakt sa SMTP serverom, moramo se na njega spojiti. Osim ako drugačije nije definirano, SMTP je po defaultu mapiran na port 25 (nekriptirana veza) i port 465 (kriptirana veza). S obzirom da telnet klijent koristi clear-text komunikaciju, s njim se moguće spojiti samo na nekriptirani kanal, dakle u ovom slučaju na port 25. Sintaksa je sljedeća:
K: # telnet mail.t-com.hr 25 //s ovom komandom se spajamo na SMTP servis
S: 220 Welcome to the SMTP server. //ako je veza dopuštena, SMTP će odgovoriti s porukom 220. Poruke iza ovih brojeva variraju, a svaki broj ima svoje značenje.
K: # HELO testiram //da bi uopće započeli komunikaciju moramo se uljudno predstaviti SMTP serveru s komandom HELO „neko ime“ (postoji i EHLO – Extended HELO)
S: 250 OK //server potvrđuje
K: # MAIL FROM: sender@domena.tld //specificiramo s koje adrese želimo poslati poruku
S: 250 2.1.0 Ok //server potvrđuje
K: # RCPT TO: recipient@domena.tld //specificiramo kome želimo poslati email
S: 250 2.1.5 Ok //server potvrđuje
K: # DATA //ovime poručujemo serveru da želimo nešto i napisati u emailu
S: 354 End data with . //server odgovara da je u redu i da poruku moramo završiti s točkom u zadnjem retku
K: # Subject: Ovo je testni email //definiramo temu poruke i prebacimo se na novi redak s tipkom Enter gdje započinjemo s pisanjem tijela (engl. body) poruke.
# Ovo je testna email poruka. //tijelo poruke
# . //točkom završavamo poruku čime se email automatski šalje, kao da ste stisnuli “Send Message” u email klijentu
S: 250 2.0.0 Ok: queued as IDporuke //server na temelju unešenih podatka analizira poruku te je dalje prosljeđuje u lokalni mailbox store ukoliko se domena primatelja nalazi u njegovoj bazi ili je pak prosljeđuje dalje.
K: # QUIT //ovom naredbom zaključujemo komunikaciju sa SMTP serverom
U ovom slučaju, server će daljnu primopredajuemaila vršiti sličnom komunikacijom sa SMTP konektorom koji je zadužen za domenu primatelja, a odluku gdje će poruku dostaviti uglavnom temelji na provjeri lokalne baze emailova ili provjerom MX recorda za domenu.
U gornjem primjeru je navedena tek desetina komandi koje se mogu koristiti, kao što je rečeno – ovisno o postavljenim zahtjevima (npr. metodi autentikacije, sigurnosnim postavkama i sl.), a za one koje žele znati više koristite RFC memorandume, primjere na webu ili jednostavno komentirajte pa ćemo pokušati odgovoriti.
Naravno, SMTP je tek jedan od protokola ili servisa povezanih sa email sustavima, no imamo i ostale poput POP3 i IMAP koji su zaduženi za primanje emailova. Email sustavi su kompleksna tema, a ovdje je ukratko opisan proces transakcije emaila.