Laboration i ett applikationsprotokoll SMTP Denna laboration är tänkt att ge dig en inblick i hur ett protokoll på högre nivå fungerar. Program för att skicka och hämta mail hör ju till det högre applikations -lagret. Mailprogrammen använder två skilda protokoll för att skicka och hämta mail. För att hämta mail används POP och för att skicka används SMTP-protokollet. Protokollen förutsätter två aktörer: Mail-clienten som skickar och hämtar mail till/från användaren samt Mail-servern som mellanlagrar/distribuerar mailen Vi ska kika närmare på SMTP, som står för Simple Mail Transfer Protocoll. Detta protokoll är i likhet med många andra applikationsprotokoll textbaserat. Protokollet definierar vilka tecken och ord som ska betyda vad. T. ex: rcpt to: <mottagarens adress> betyder för den sändande clienten att nu skickas mottagar-adressen och när dessa tecken kommer fram till servern vet den att det är mottagarens adress som kommer. Protokollet är regler och överenskommelser som reglerar kommunikationen. Rcpt betyder en vii sak och i bägge ändarna av kommunikationen förstår man vad som sägs. Protokollet definierar endast vad olika teckenkombinationer ska betyda och när tex clienten vill skicka ett mail skickar clienten dessa tecken nedåt i TCP/IP-stacken till närmaste underliggande lager: transportlagret som sedan får ansvara för att tecknen verkligen kommer fram till rätt mottagarprogram (mail-servern). Vi ska simulera en mail-client och själva skicka de kommandon som behövs för att skicka ett mail. Vi ska ta kontakt med en mail-server via ett program som enbart kan skicka tecken. Efter vi etablerat kontakt ska vi skicka ett mail till oss själv och sedan ska starta vår egen mailprogramvara för att se om mailet kommit fram. Det program vi ska använda oss av för vår lilla session är telnet. I specifikationen nedan använder jag följande system för vad som ska skrivas och hur: Fet stil: Klickbara knappar Courier för sådant du skriver in ordagrant <Courier kursivt> för sådant som ska skrivas in men innehållet ska ändras till det som är aktuellt för dig. < och > ska också utelämnas Står det t.ex: rcpt to: <din emailadress> så skulle jag, Björne Lindberg, skriva: rcpt to: bjorne.lindberg@tfe.umu.se
Utförande Gå till Start, Kör och skriv in telnet i den lilla textrutan. Tryck Ok. Då ska det dyka upp ett terminalfönster: Tryck på anslut / Fjärrsystem så kommer det upp en ruta enligt nedan I rutan ovan där det står smtp.domain.se skriver du in din smtp-servers adress. Det brukar vara smtp. det som kommer efter @ i din mailadress. Annars får du höra med din mailleverantör vad din smtp-servern har för adress. Fyll i portnr 25 samt terminaltyp ansi. Tryck på anslut. Nu ska telnet söka upp servern smtp.domain.se och få någon kontakt. Gick det bra borde servern ha svarat med:
Siffran 220 betyder att allt är OK och ESMTP betyder att servern förstår en viss utökad uppsättning instruktioner, bl. a. Ehlo me, som vi snart ska använda. Dessutom kan servern hantera utökad ASCII-tabell vilket betyder att även svenska å, ä och ö kan skickas. Skriv vid prompten (Den blinkande fyrkanten) och avslutar med enter: Ehlo me Observera att du inte kan se det du själv skriver Då svarar servern med en presentation och lite fakta om sig själv 250 betyder att allt gick bra. Nu ska du börja skicka ditt mail! Skriv följande, avsluta med enter: Mail from: <din adress@domain.se> Men byt ut adressen <dinadress@domain.se> mot din egen mailadress. Då ska svaret se ut så här:
Skriv sedan, följt av enter: Rcpt to: <dinadress@domain.se> Svaret borde se ut som detta: Skriv sedan, följt av enter: data Svaret borde se ut som detta:
Hyfs och fason säger att vi bifogar lite extra information, men detta är inte nödvändigt. Prova gärna att skicka några olika varianter där du utelämnar viss information för att se vad som händer. To, From och Subject är exempel på sådan extra information som inte behövs med som det är klädsamt om vi bifogar. Skriv vid promten: To: mottagarens namn <goingto@domain.com> From: Ditt_namn <youraddress@yourdomain.com> Subject: Ämne Ditt meddelande skriver du här. Varje rad avslutas med enter och observera den ensamma punkten på sista raden som berättar att dit meddelande är slut
Svaret borde se ut som detta: Skriv sedan: Quit Följt av enter Nu går du till din vanliga mail-läsare och kontrollerar om du fått det mail du skickat till dig själv. Uppgift Skicka via telnet ett mail till: bjorne.lindberg@tfe.umu.se Med information om avsändare, avsändaradress, mottagare, mottagaradress och ämne. I meddelandet ska det stå: Hej Här kommer det ett mail från <ditt namn> som jag skickat via telnet. <ditt namn> Lycka till