Prijeđite na sadržaj

Postavke kolačića

Za svaku vrstu odaberite koje kolačiće dopuštate. Svoj odabir uvijek možete promijeniti putem poveznice Postavke kolačića na dnu svake stranice. Izjava o privatnosti

Nužni

Uvijek uključeni

Potrebni za prijavu, čuvanje košarice i pamćenje Vaših odabira. Uvijek su uključeni.

Koji kolačići?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša sesija i to da ostanete prijavljeni
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cijena s PDV-om ili bez njega
  • wok_cookies: Vaš odabir kolačića, 12 mjeseci

Mjeri koji oglas dovodi do posjeta ili narudžbe, kako ne bismo plaćali oglase koji ništa ne donose.

Koji kolačići?
  • Google Ads putem Google Tag Managera (_gcl_au, _gcl_aw), do 90 dana
  • OpenAI Ads, oglasi u ChatGPT-u
  • wok_aff: preko kojeg ste partnera došli k nama (partnerski program), 60 dana

4,6

Država i jezik

Svaka država ima vlastitu stranicu, s cijenama i PDV-om te države.

Pogledajte

SMTP: razgovor između mail servera

Modul 1: Kako funkcionira e-mail · Vrijeme čitanja: 10 minuta

Cilj učenja: Nakon ove lekcije moći ćete pročitati SMTP razgovor, objasniti što rade EHLO, MAIL FROM, RCPT TO i DATA, te prepoznati iz koda odgovora je li greška privremena ili trajna.

Ključni pojmovi: SMTP (RFC 5321), sesija, EHLO/HELO, MAIL FROM, RCPT TO, DATA, QUIT, kod odgovora (2xx, 3xx, 4xx, 5xx), prošireni kod statusa, proširenja (STARTTLS, AUTH, SIZE), null MX

Razgovor u običnom tekstu

SMTP je vrlo star protokol (prva verzija je iz 1982. godine) i stoga vrlo čitljiv. Dva servera šalju jedan drugome retke teksta. Pošiljatelj (klijent) šalje naredbu, primatelj (server) odgovara brojem od tri znamenke i kratkim objašnjenjem. Takav razgovor možete doslovno pročitati u poruci o grešci ili zapisniku (log), pa se zato isplati razumjeti ga.

U nastavku je potpuni razgovor. S: je server primatelja, C: je server pošiljatelja. Pošta ide od anna@example.com prema jan@example.net.

S: 220 mx1.mailprovider.example ESMTP ready
C: EHLO out.hosting.example
S: 250-mx1.mailprovider.example Hello out.hosting.example [192.0.2.25]
S: 250-SIZE 52428800
S: 250-8BITMIME
S: 250-STARTTLS
S: 250 SMTPUTF8
C: STARTTLS
S: 220 2.0.0 Ready to start TLS
   (od ovog trenutka veza je šifrirana; klijent ponovno šalje EHLO)
C: EHLO out.hosting.example
S: 250 ...
C: MAIL FROM:<anna@example.com> SIZE=24310
S: 250 2.1.0 Ok
C: RCPT TO:<jan@example.net>
S: 250 2.1.5 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: Anna <anna@example.com>
C: To: Jan <jan@example.net>
C: Subject: Offerte
C: Date: Sun, 8 Nov 2026 10:15:00 +0100
C: Message-ID: <a1b2c3@example.com>
C:
C: Hoi Jan, hierbij de offerte.
C: .
S: 250 2.0.0 Ok: queued as 4F2A1B
C: QUIT
S: 221 2.0.0 Bye

Naredbe jedna po jedna

NaredbaZnačenjeObratite pozornost
(povezivanje)Server pozdravlja s 220 i svojim imenom.Ovo se naziva banner. Ako server odmah kaže 554, to znači da uopće ne želi komunicirati s Vašom IP adresom (često zbog liste blokiranih).
EHLO ime"Pozdrav, ja sam out.hosting.example." Server odgovara s proširenjima koja poznaje.Ime bi trebalo biti stvarno ime servera pošiljatelja, po mogućnosti jednako njegovom PTR zapisu (lekcija 5.1). HELO je stara inačica bez proširenja.
STARTTLS"Hajdemo odsad šifrirati."Samo ako server to nudi. Između servera ovo je obično dobrovoljno (lekcija 5.4).
MAIL FROM:<adresa>Pošiljatelj omotnice (envelope sender): ovdje idu poruke o greškama.Kasnije postaje zaglavlje Return-Path. SPF provjerava ovu adresu. Praznog pošiljatelja <> serveri koriste za vlastite poruke o greškama, kako bi se izbjeglo da povratna poruka (bounce) stvori novu povratnu poruku.
RCPT TO:<adresa>Primatelj. Može se ponoviti više puta, jednom za svakog primatelja.Ovdje bi server već trebao reći postoji li adresa. 550 5.1.1 u ovom trenutku je uredna, odmah prepoznatljiva greška.
DATA"Sada slijedi sama poruka." Server odgovara s 354.Zatim slijede zaglavlja, prazan redak i tekst. Redak koji sadrži samo točku završava poruku.
QUITKraj razgovora.

Najvažnija spoznaja: sve prije DATA je omotnica (envelope), sve nakon DATA je sadržaj. Ono što piše u MAIL FROM i ono što piše u zaglavlju From: dostavljaju se odvojeno i ne moraju biti jednaki. Server dostavlja poštu prema RCPT TO; redak To: u sadržaju nema ulogu u dostavi.

Kodovi odgovora

Prva znamenka koda je najvažnija:

Počinje sZnačenjeŠto radi pošiljatelj?
2Uspjelo.Nastavlja se na sljedeći korak. 250 nakon DATA znači: server je prihvatio poštu i sada je odgovoran za nju.
3Nastavite, čekam još podataka.Pojavljuje se samo kod 354 nakon DATA (i kod prijave).
4Privremena greška: ne sada, pokušajte kasnije.Pošta ostaje u redu čekanja i ponovno se nudi kasnije.
5Trajna greška: ovo neće uspjeti.Pošiljatelj odustaje i šalje poruku o grešci (bounce) na adresu pošiljatelja iz omotnice.

Iza tri znamenke moderni serveri dodaju prošireni kod statusa u obliku class.subject.detail (RFC 3463), na primjer 5.1.1. Prva znamenka je ponovno 2, 4 ili 5. Druga znamenka govori o čemu se radi: 1 = adresa, 2 = mailbox, 3 = sustav pošte, 4 = mreža i usmjeravanje, 5 = protokol, 6 = sadržaj, 7 = sigurnost i pravila. Nekoliko primjera koje često viđate:

550 5.1.1  The email account that you tried to reach does not exist
452 4.2.2  Mailbox full (tijdelijk)
552 5.3.4  Message size exceeds fixed limit
451 4.7.1  Greylisted, please try again later
550 5.7.1  Message rejected (beleid: spam, blocklist, DMARC)

U modulu 6 naučit ćete pročitati potpunu povratnu poruku (bounce) i pronaći ćete tablicu s kodovima koji se najčešće pojavljuju.

Zašto je razlika između privremenog i trajnog toliko važna

Server koji dvoji, često odgovara kodom 4xx. Poznat primjer je greylisting: server koji još ne poznaje pošiljatelja prvi put kaže "pokušajte kasnije". Pravi mail server vratit će se za nekoliko minuta, mnogi spam programi neće. I veliki primatelji koriste 4xx kako bi usporili tempo ako još ne vjeruju IP adresi. Za Vas kao pošiljatelja to znači: kašnjenje, ali ne i gubitak. Sustav to obično sam riješi.

5xx je nešto drugo. Tu pošiljatelj neće ponovno pokušati. Ako dobijete 5xx, netko mora nešto promijeniti: adresu, sadržaj ili postavke domene pošiljatelja.

Zamka: neki serveri daju 5xx dok je problem zapravo privremen (na primjer kod pune mailbox 552 5.2.2), a drugi daju 4xx za nešto što nikada neće uspjeti. Zato uvijek čitajte tekst iza koda, ne samo broj.

Tko je odgovoran?

Nakon 250 na točku kojom završava DATA, odgovornost leži na serveru primatelja. Ako mu kasnije ne uspije smjestiti poštu u mailbox, mora sam poslati poruku o grešci natrag. To je izvor neugodne pojave: backscatter. Server koji prvo prihvati sve, a tek kasnije otkrije da adresa ne postoji, šalje povratnu poruku (bounce) na adresu pošiljatelja iz omotnice. Ako je ta adresa bila lažirana od strane spamera, nevina treća strana dobiva povratnu poruku. Zato bi serveri trebali odbiti ono što ne može uspjeti već kod RCPT TO (vidi i catch-all u lekciji 3.3).

U praksi: SMTP u Vašem vlastitom okruženju

Obični korisnik rijetko vidi cijeli SMTP razgovor, ali ga vidi u dijelovima:

  • u povratnoj poruci (bounce) nalazi se posljednji redak razgovora, na primjer Remote-MTA: mx1.mailprovider.example i Diagnostic-Code: smtp; 550 5.1.1 ...;
  • u zaglavljima primljene poruke nalazi se po server redak Received: s EHLO imenom i IP adresom (lekcija 1.5);
  • u panelu sa zapisnikom pošte, poput E-mail Tracking u DirectAdmin kod WebOké, vidite po poruci odgovor servera primatelja. Kod drugih pružatelja usluga ovo se naziva na primjer praćenje poruka ili mail log, a sadržaj je sličan.

Dakle, ne morate se sami povezati s mail serverom da biste to mogli pročitati. Tko to ipak želi isprobati: naredbom openssl s_client -starttls smtp -connect server:25 možete ručno voditi razgovor, ali mnogi kućni pružatelji internetske usluge blokiraju odlazni promet na priključku 25 (lekcija 1.4).

Sažetak

  • SMTP je čitljiv razgovor: EHLO, (STARTTLS), MAIL FROM, RCPT TO, DATA, QUIT.
  • Sve prije DATA je omotnica (dostava i poruke o greškama), sve nakon toga je sadržaj sa zaglavljima koja vidite.
  • 2xx = uspjelo, 4xx = privremeno (ponovni pokušaj kasnije), 5xx = trajno (bounce).
  • Prošireni kod X.Y.Z govori o čemu se radi; X.1 adresa, X.2 mailbox, X.7 pravila i sigurnost.
  • Uvijek čitajte tekst iza koda; serveri nisu uvijek dosljedni.

Kviz

1. Koja naredba sadrži adresu na koju ide poruka o grešci?



2. Server odgovara 451 4.7.1 Greylisted, please try again later. Što radi dobar server pošiljatelja?



3. U kojem dijelu razgovora nalazi se zaglavlje Subject:?



4. Što govori druga znamenka u 550 5.1.1?



5. Zašto je bolje da server odbije nepostojeću adresu već kod RCPT TO, umjesto da prvo prihvati poštu?



Zadatak

Zadatak Z1.2: Domena koja ne prima poštu. Potražite MX zapise domene example.com. Unesite što ste pronašli i odaberite što server pošiljatelja radi s poštom za info@example.com: (a) dostavlja na server s prioritetom 0, (b) pokušava A zapis, (c) odmah odustaje, ili (d) pokušava ponovno kasnije. Program uživo dohvaća MX zapis i provjerava.

Zadatak Z1.2: Domena koja ne prima poštu

Pronađite MX zapise za example.com i odaberite što server pošiljatelj radi s poštom za info@example.com.



Ono što unesete i što pronađemo ne spremamo. Vaš preglednik pamti Vaše odgovore i je li zadatak položen. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak (gotovo) uspješno riješili; ondje to možete i izbrisati.

Dodatno štivo

Koraci u ovim člancima vrijede za panele WebOké; kod drugih pružatelja usluga rad je sličan.

Trenutak…

Postavite svoje domene

Za svaku domenu odredite nameservere, povezivanje s hostingom i tko postaje vlasnik.

Učitavanje Vaših domena…