You are on page 1of 13

L301 – A DMINISTRACIJA SERVISA

ELEKTRONSKE POŠTE
Veselin Mijušković, Ljubiša Radivojević i Marko Uskoković

Linux IT Akademija
Edukacioni centar
Elektrotehnički fakultet Univerziteta u Beogradu
L301 – Administracija servisa elektronske pošte

Autori: Veselin Mijušković, Ljubiša Radivojević i Marko Uskoković

Verzija: 0.1

Datum poslednje izmene: 2008-01-12

Copyright©2007 Veselin Mijušković, Ljubiša Radivojević i Marko Uskoković. Sva prava


zadržana.

Ovo delo je licencirano prema specifikaciji:


Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.
Da biste videli kopiju ove licence, posetite URL
http://creativecommons.org/licenses/by-nc-sa/2.5/
ili pošaljite pismo adresirano na
Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

Linux je zaštićeni znak Linusa Torvaldsa.


Sadržaj
1. UVOD..............................................................................................................................................4
Komponente sistema elektronske pošte...........................................................................................4
Struktura elektronskih poruka..........................................................................................................5
Koverta (envelope)......................................................................................................................5
Zaglavlja (headers)......................................................................................................................5
Telo poruke (body)......................................................................................................................6
Struktura skladišta za e-mail poruke................................................................................................6
Mbox...........................................................................................................................................6
Maildir.........................................................................................................................................6
Konvertovanje Mbox formata u Maildir.....................................................................................6
Protokoli za slanje i primanje pošte.................................................................................................7
SMTP..........................................................................................................................................7
POP3...........................................................................................................................................7
IMAP4.........................................................................................................................................8
Podešavanje DNS zapisa za e-mail..................................................................................................8
2. SENDMAIL.....................................................................................................................................9
Uvod.................................................................................................................................................9
Instalacija.........................................................................................................................................9
Konfiguracioni fajlovi......................................................................................................................9
Prosleđivanje pošte........................................................................................................................10
Lokalno prosleđivanje...............................................................................................................10
Udaljeno prosleđivanje..............................................................................................................10
Access liste za relaying.............................................................................................................10
Prosleđivanje nadređenom serveru...........................................................................................10
Aliasi..............................................................................................................................................10
Prosleđivanje pošte na drugu adresu..............................................................................................11
Prepisivanje adresa........................................................................................................................11
Virtualni domeni............................................................................................................................11
SMTP autentifikacija.....................................................................................................................11
SSL konekcije................................................................................................................................11
3. DOVECOT POP I IMAP.............................................................................................................12
Uvod...............................................................................................................................................12
Instalacija.......................................................................................................................................12
Podešavanje...................................................................................................................................12
L301 – Administracija servisa elektronske pošte LITA

1. Uvod
Elektronska pošta predstavlja najznačajniji i najviše korišćeni servis interneta. Nije netačno
reći da je Internet i razvijen kako bi se omogućila razmena elektronske pošte između udaljenih
mašina. Nastao kao servis za kopiranje tekstualnih fajlova između korisnika na istoj mašini, danas
predstavlja univerzalni način za prosleđivanje teksta i multimedijalnih sadržaja. Važno je primetiti
da poruke danas gotovo nikad ne idu direktno od jednog korisnika do drugog, već putem servera za
transport i isporuku poruka.
Komponente sistema elektronske pošte
Komponente sistema elektronske pošte se mogu definisati kao:
● MUA – Mail User Agent
● MSA – Mail Submission Agent
● MTA – Mail Transport Agent
● MDA – Mail Delivery Agent
Mail User Agent (MUA) je korisnički program za pisanje, slanje i primanje elektronske pošte.
Korisnik piše poruku koristeći običan ili formatiran (npr. HTML-om) tekst i upućuje je na e-mail
adresu primaoca. MUA ne mora da zna koji server je odgovoran za prijem pošte za e-mail adresu
primaoca, niti da sam kontaktira taj server (koji možda trenutno nije dostupan), već poruku
prosleđuje Mail Submission Agentu (MSA) svog Internet provajdera. MSA je zadužen za
prihvatanje poruka od autorizovanih korisnika, eventualno dodavanje ili ispravljanje različitih
zaglavlja poruke (npr. From: polja, ili datum) i prosleđivanje poruke Mail Transport Agentu
(MTA). MTA kontaktira server koji prima poštu za e-mail adresu primaoca, nakon što je utvrdio
koji je to server. Na tom serveru se takođe izvršava MTA, ali ovde u ulozi prijemnog agenta za
određene e-mail adrese. Kada poruku prihvati, prijemni MTA kontaktira Mail Delivery Agenta
(MDA) koji poruku isporučuje u sanduče primaoca. Primalac koristi svoj MUA za pristup i
preuzimanje poruka iz svog sandučeta.

Napomene:
● MTA1 može kontaktirati MTA2 direktno ili preko svog nadređenog MTA
● Uloge MSA, MTA i MDA komponenti često može obavljati jedan isti softver.

4
Linux IT Akademija L301 – Administracija servisa elektronske pošte

Struktura elektronskih poruka


Format elektronskih poruka definisan je RFC-om 5322 za osnovni format poruke sa čistim
tekstom i RFC-ovima 2045-2049 kojima se reguliše slanje UTF-8 enkodovanog teksta, HTML
formatiranog teksta, slika, zvuka i drugog. Sve e-mail poruke se šalju korišćenjem čistog teksta, pri
čemu se podaci enkoduju BASE64 ili nekim drugim algoritmom.
Koverta (envelope)
Pod kovertom poruke se podrazumevaju informacije o poreklu i serverima kroz koje je prošla
poruka na putu od pošiljaoca do primaoca. Te informacije dodaju na početak poruke MSA-ovi,
MTA-ovi i MDA-ovi, tako da se prilikom određivanja porekla poruke čita od pozadi. Takođe, u
ovom delu poruke se nalazi i Return-Path: adresa (envelope sender) na koju se šalje obaveštenje ako
dođe do problema sa isporukom poruke primaocu (npr. nepostojeći korisnik ili nedostupan server).
Delivered-To: uskokovic@gmail.com
Received: by 10.210.105.20 with SMTP id d20mr34879116ebc.84.1231805039748;
Mon, 12 Jan 2009 16:03:59 -0800 (PST)
Return-Path: <uskokovic@etf.rs>
Received: from smtp.etf.bg.ac.yu (SMTP.ETF.BG.AC.RS [147.91.8.62])
by mx.google.com with ESMTP id f3si89816667nfh.74.2009.01.12.16.03.58;
Mon, 12 Jan 2009 16:03:59 -0800 (PST)
Received: from kondor.etf.bg.ac.yu (kondor.ETF.BG.AC.RS [147.91.8.8])
by smtp.etf.bg.ac.yu (Postfix) with ESMTP id 83CB21BB27D
for <uskokovic@gmail.com>; Tue, 13 Jan 2009 01:03:54 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
by kondor.etf.bg.ac.yu (Postfix) with ESMTP id C5B0FE2B70
for <uskokovic@gmail.com>; Tue, 13 Jan 2009 01:03:54 +0100 (CET)
Received: from 91.148.91.47 (SquirrelMail authenticated user uskokovic)
by localhost with HTTP; Tue, 13 Jan 2009 01:03:54 +0100 (CET)
U navedenom primeru, korisnički program (MUA) je vebmail softver SquirrelMail. MSA je
softver koji se izvršava se na lokalnoj mašini (127.0.0.1). MTA je Postfix softver na serveru
kondor.etf.bg.ac.yu. Nadređeni MTA je softver Postfix na serveru smtp.etf.bg.ac.yu, destinacioni
MTA je softver na serveru mx.google.com, a MDA je softver na serveru 10.210.105.20. Poruka je
isporučena korisniku uskokovic@gmail.com, a poslata je sa adrese uskokovic@etf.rs.
Zaglavlja (headers)
Zaglavlja poruke generiše MUA, ali ih mogu prepraviti MTA-ovi. U njima se nalaze
informacije o adresi pošiljaoca (From: polje), adresi primaoca (To:), naslovu poruke (Subject:),
datumu i sl.
Korisnički programi često dodaju polje User-Agent i druge informacije. Ukoliko telo poruke
sadrži enkodovane podatke (slike i sl) onda se granica kojom se razdvajaju pojedini enkodovani
fajlovi navodi u Content-Type polju.
Message-ID: <38424.91.148.91.47.1231805034.squirrel@kondor.etf.bg.ac.yu>
Date: Tue, 13 Jan 2009 01:03:54 +0100 (CET)
Subject: test
From: "Marko Uskokovic" <uskokovic@etf.rs>
To: uskokovic@gmail.com
User-Agent: SquirrelMail/1.4.10a
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="----=_20090113010354_76450"
X-Priority: 3 (Normal)
Importance: Normal

5
L301 – Administracija servisa elektronske pošte LITA

Telo poruke (body)


Telo poruke se od koverte i zaglavlja odvaja jednim praznim redom i to je prvi takav red od
početka poruke. Ukoliko se sa porukom šalju i slike ili drugo, oni se navode u obliku enkodovanog
teksta između graničnika koji je naveden u zaglavlju poruke.

------=_20090113010354_76450
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Pozdrav!

--
Марко Ускоковић, систем администратор
Е-пошта: uskokovic@etf.rs

Рачунски центар Електротехничког факултета


Булевар краља Александра 73, 11020 Београд, Србија
Телефон: +381 11 3370110 Сајт: http://rc.etf.rs

------=_20090113010354_76450
Content-Type: image/gif; name="crn_btmlft.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="crn_btmlft.gif"

R0lGODlhOgAfALMAAAAAAK2traWlpZmZmcXFxWZmZv///+Dg4A8QEnZ2drKysszMzIeHiMDAwP//
/wAAACH5BAUUAA4ALAAAAAA6AB8AAATLEJBAaz0plc27/2AYSoFgnuahrmzrvnCsSmht21aul3d/
0r6gcEgEnnbIJJJoI1GCS6a0Zpxar6YqdnvTabng3jcctozJQ6VifUaH224uPI6d0632uzRPV+b4
ekMSClMDhoeIA1dKg4FkEgRXiZOIYAaAXElHOpcEhFiTdAadn45QSKMADJ56fkKjl6ulkpSGUxaw
saymU7m6s61+Fb6XkJ5ryMnKa1FbxKkAC9LT1NXTBNjZ2tvcBA3f4N/PsADlAAjo6err7O3u7hEA
Ow==
------=_20090113010354_76450--

Struktura skladišta za e-mail poruke


Mbox
U Mbox formatu sve poruke iz jednog sandučeta su spojene i zapisane u jednom fajlu.
Pojedine poruke se razdvajaju linijom koja počinje karakterima "From " i adresom pošiljaoca.
Nakon svake poruke se dodaje još jedan prazan red kako bi programi mogli pravilno da obrađuju
tekst i izvuku pojedine poruke iz sandučeta. Format Mbox sandučeta nikad nije prošao
standardizaciju tako da postoje različite implementacije ovog formata od različitih programa.
Maildir
Maildir je noviji, široko-korišćeni format za skladištenje e-mail poruka. Superiorniji je u
odnosu na Mbox jer se poruke čuvaju u zasebnim fajlovima tako da nije potrebno brinuti o
zaključavanju prilikom dodavanja, brisanja ili pomeranja poruka. Fajlovi poruka imaju jedinstvena
imena i smešteni su u Maildir direktorijumu sa poddirektorijumima "cur", "new" i "tmp". Maildir+
format omogućava i formiranje poddirektorijuma sandučeta. Oni se formiraju kao skriveni
poddirektorijumi Maildir direktorijuma (imena im počinju tačkom), tako da bi sanduče Inbox/Posao
u Maildir-u bilo smešteno u direktorijumu ".Inbox.Posao".
Konvertovanje Mbox formata u Maildir
http://batleth.sapienti-sat.org/projects/mb2md/

6
Linux IT Akademija L301 – Administracija servisa elektronske pošte

Protokoli za slanje i primanje pošte


SMTP
Simple Mail Transfer Protocol (SMTP) je standardni protokol za slanje elektronske pošte.
Koriste ga klijenti kada svom MSA-u prosleđuju poštu koja treba da se pošalje, kao i MTA-ovi
između sebe prilikom isporuke pošte. SMTP je definisan RFC-om 821, dok RFC 5321 definiše
extended SMTP (ESMT).
Sledi primer SMTP komunikacije između klijenta i servera prilikom slanja pošte:
uskokovic@kondor:~$ telnet zmaj.etf.rs 25
Trying 147.91.8.62...
Connected to zmaj.etf.rs.
Escape character is '^]'.
220 zmaj.etf.bg.ac.yu ESMTP
helo kondor.etf.rs
250 zmaj.etf.bg.ac.yu
mail from: root@kondor.etf.rs
250 Ok
rcpt to: uskokovic@etf.rs
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: Root korisnik
Subject: Primer SMTP komunikacije

Primer tela poruke


Tackom se zavrsava poruka
.
250 Ok: queued as 4E34A1BB278
quit
221 Bye
Connection closed by foreign host.

POP3
Post Office Protocol verzije 3 je protokol kojim klijenti preuzimaju pristiglu poštu sa servera
na svoj računar. Izvršava se na standardnom TCP portu 110, odnosno 995 za SSL enkriptovane
konekcije. Namenjen je prvenstveno za korisnike koji nemaju stalnu vezu sa serverom, već prilikom
povezivanja na server preuzimaju sve poruke na lokalni računar za kasnije čitanje. Poruke se mogu i
čuvati na serveru, mada je za takvu upotrebu bolje koristiti IMAP. Opisan je RFC-om 1939.
Evo primera komunikacije između klijenta i servera:
turncoat@bot:~$ telnet localhost 110 1 120
Trying 127.0.0.1... 2 200
Connected to localhost. .
Escape character is '^]'. RETR 1
+OK Hello there. +OK 120 octets
USER korisnik <poruka>
+OK Password required. .
PASS sifra DELE 1
+OK logged in. +OK message 1 deleted
LIST QUIT
+OK 2 messages (320 octets) +OK POP3 server signing off

7
L301 – Administracija servisa elektronske pošte LITA

IMAP4
Internet Message Access Protocol verzije 4 je zajedno sa POP3 protokolom, najzastupljeniji
protokol za pristup i preuzimanje pristigle pošte. Izvršava se na standardnom TCP portu 143,
odnosno 993 za SSL enkriptovane konekcije. Namenjen je prvenstveno za korisnike koji maju
stalnu vezu sa serverom i koji žele da svu svoju poštu čuvaju na serveru. Za razliku od POP3
protokola IMAP4 podržava korišćenje poddirektorijuma sandučeta, paralelan pristup sandučetu od
strane više klijenata, parcijalno preuzimanje poruka (npr. samo telo, a ne i attachment), označavanje
poruka (pročitana, odgovorena...) i pretraživanje poruka na serveru. Definisan je RFC-om 3501.
Primer komunikacije:
uskokovic@kondor:~$ telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE SORT IDLE STARTTLS]
Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for
distribution information.
a001 LOGIN korisnik sifra
a001 OK LOGIN Ok.
a002 SELECT Inbox
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 8080 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1107851339] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
a002 OK [READ-WRITE] Ok
a006 LIST "Inbox" "*"
* LIST (\Unmarked \HasNoChildren) "." "INBOX.Drafts"
* LIST (\Unmarked \HasNoChildren) "." "INBOX.Sent"
* LIST (\Unmarked \HasNoChildren) "." "INBOX.Trash"
a007 LOGOUT

Podešavanje DNS zapisa za e-mail


E-mail adresa se sastoji iz dva dela: korisnika i domena ili imena računara na kome postoji taj
korisnik. Prilikom slanja pošte, MTA konsultuje DNS tražeći MX (mail exchange) zapis za domen
za koji je upućena poruka. Kao odgovor na ovaj upit, dobija se lista A zapisa servera koji primaju
poštu za taj domen. Svaki od tih servera je označen nekim prioritetom, tako da se, ako konekcija sa
prioritetnim serverom ne može biti ostvarena, poruka može isporučiti drugom serveru.
Ukoliko MX zapis za traženi domen ne postoji, poruka će biti isporučena serveru koji stoji
kao A zapis za taj domen. Ako postoji, MX zapis mora biti A zapis, a ne CNAME.
Sledi primer zone fajla sa definisanim MX zapisom za domen lita.internal:
$TTL 2d ; zone default = 2 days or 172800 seconds
$ORIGIN lita.internal.
lita.internal. IN SOA lita.internal. uskokovic.etf.rs. (
14 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

IN MX 10 mail.lita.internal.
mail IN A 10.0.0.2

8
Linux IT Akademija L301 – Administracija servisa elektronske pošte

2. Sendmail
Uvod
Sendmail je napisan početkom osamdesetih godina prošlog veka na Berkli Univerzitetu.
Podržava veliki broj protokola za prosleđivanje pošte, uključujući i SMTP i UUCP. Danas više od
30% aktivnih mejl servera izvšava sendmail. Veb sajt i dokumentacija projekta se nalazi na adresi
http://www.sendmail.org/

Instalacija

Sendmail se može instalirati kompajliranjem iz izvornog koda, ili instaliranjem odgovarajućih


paketa za distribuciju koja se koristi. Instaliranjem Sendmaila koršćenjem menadžera paketa
distribucije omogućava korišćenje raznih specifičnosti koje distribucije uključuju u Sendmail, dok
se kompajliranjem Sendmaila može uključiti podrška za manje korišćene mogućnosti. Veliki broj
potrebnih mogućnosti (npr. SASL i STARTTLS) je uključen u paketima distribucija, tako da
kompajliranjem iz izvornog koda obično nema potrebe. Ipak, izvorni kod Sendmaila sadrži
README fajl sa detaljnim objašnjenjima konfiguracionih direktiva, kao i primere konfiguracionih
fajlova za različite namene.
Ubuntu:
sudo apt-get install sendmail sendmail-base sendmail-bin sendmail-cf
sudo apt-get install sensible-mda mailx
Fedora:
yum install sendmail sendmail-cf

Konfiguracioni fajlovi
Konfiguracioni fajlovi Sendmaila se smeštaju u /etc/mail direktorijum. Sendmail iz ovog
direktorijuma čita sendmail.cf i submit.cf, kao i fajlove koji se referenciraju odgovarajućim
direktivama iz ova dva fajla.
Fajlovi sa ekstenzijom .cf su prilično dugački i nečitljivi. To su fajlovi koje čita Sendmail, a
mogu se generisati korišćenjem makroa m4 na osnovu fajlova sa ekstenzijom .mc i m4.
Generisanje .cf fajlova od .mc i .m4 fajlova se vrši komandom m4 (sa odgovarajućim
parametrima), ali je to lakše uraditi pokretanjem "make -f /etc/mail/Makefile" ili, još lakše,
komandom sendmailconfig.
Sendmail koristi Berkli bazu za pojedine konfiguracione fajlove kako bi promene u toj
konfiguraciji mogle da se prave i bez restartovanja Sendmaila. Fajlovi baza su npr. aliases.db ili
access .db, i oni se komandom prave od odgovarajućih aliases i access fajlova koji sadrže čitljiv
tekst. Komanda makemap se koristi za pravljenje access.db fajla, a newaliases za aliases.db. Na
Debian i Ubuntu distribucijama komanda sendmailconfig će generisati i ove fajlove automatski,
dok se kod RedHata i Fedore ovi fajlovi automatski kreiraju prilikom restartovanja Sendmaila.

Skripta za startovanje i stopiranje Sendmaila je /etc/init.d/sendmail .

9
L301 – Administracija servisa elektronske pošte LITA

Prosleđivanje pošte
Lokalno prosleđivanje
Osnovni način prosleđivanje pošte koje Sendmail može da radi je lokalno prosleđivanje
između lokalnih korisnika na mašini. Da bi se dobilo ovakvo ponašanje potrebna su sledeća
podešavanja u /etc/mail/sendmail.mc fajlu:
divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
Ovako konfigurisan Sendmail će omogućavati lokalnim korisnicima da prosleđuju poštu jedni
drugima, korišćenjem korisničkog imena kao To: adrese. Pošta će biti isporučivana u mbox formatu
u fajl /var/mail/korisnik dok je korisnički program kao što je mail ili mutt ne preuzme i prebaci u
korisnikov home direktorijum.

Udaljeno prosleđivanje
Za prosleđivanje pošte namenjene za udaljene mašine, neophodno je podesiti da Sendmail
sluša na portu 25:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
Zatim, potrebno je reći Sendmailu za koje domene on prima poštu:
FEATURE(`use_cw_file')dnl
Domene za koje Sendmail prima poštu treba upisati u fajl /etc/mail/local-host-names .
Na kraju, neophodno je definisati smtp mailera:
MAILER(`smtp')dnl
Access liste za relaying
Ukoliko je potrebno nekim mašinama omogućiti relaying kroz naš mail server, to se radi
korišćenjem access baze. Najpre treba uključiti odgovarajuću mogućnost u Sendmail:
FEATURE(`access_db', , `skip')dnl
Zatim u fajlu /etc/mail/access treba dozvoliti relaying određenoj mašini:
Connect:147.91.13.7 RELAY
Umesto ključne reči RELAY, može da se navede i REJECT (za odbijanje maila uz
objašnjenje) ili DISCARD (za odbijanje maila bez objašnjenja).
Fajl access.db se pravi na osnovu access fajla, makemap komandom:
makemap hash /etc/mail/access < /etc/mail/access
Prosleđivanje nadređenom serveru
Ukoliko se koristi nadređeni (smart) server, potrebno je dodati sledeću liniju u konfiguraciju:
define(`SMART_HOST', `zmaj.etf.rs.')dnl

Aliasi
Fajl /etc/mail/aliases (ili /etc/aliases) služi za definisanje aliasa – e-mail adresa koje se
prosleđuju navedenim korisnicima ili e-mail adresama, ili na više destinacija (liste). Fajl aliases.db
koga Sendmail koristi se kreira newaliases komandom.

10
Linux IT Akademija L301 – Administracija servisa elektronske pošte

Prosleđivanje pošte na drugu adresu


Korisnici mogu podesiti da se njihova pošta prosleđuje na neku drugu e-mail adresu –
dovoljno je da u svom home direktorijumu naprave fajl .forward u kome će navesti listu e-mail
adresa na koje pristigla pošta treba da se prosleđuje.
Ako je potrebno čuvati kopiju pristigle pošte i na serveru, onda se navodi i lokalno korisničko
ime ispred kog treba navesti obrnutu kosu crtu kako bi se izbeglo interpretiranje aliasa.

Prepisivanje adresa
Iako je posao MUA programa da dodaje zaglavlja poruke sa ispravnim informacijama u
From:, To: i ostalim poljima, ponekad je neophodno forsirati prepisivanje adresa – masquerading.
Za to je potrebno navesti domen na koji se prepisuju zaglavlja (MASQUERADE_AS), da li se
prepisuju samo zaglavlja ili i koverta i za koje domene treba da se radi prepisivanje
(MASQUERADE_DOMAIN).
MASQUERADE_AS(`etf.rs')dnl
FEATURE(always_add_domain)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(allmasquerade)dnl
MASQUERADE_DOMAIN(`etf.rs')dnl
MASQUERADE_DOMAIN(`localhost')dnl
MASQUERADE_DOMAIN(`localhost.localdomain')dnl
MASQUERADE_DOMAIN(`turncoat.etf.rs')dnl

Virtualni domeni
Ako je potrebno hostovati više domena, pri čemu su korisnici sa jednog domena različiti od
korisnika sa drugog domena, potrebno je definisati virtualne domene:
FEATURE(`virtusertable', `hash /etc/mail/virtusers')
VIRTUSER_DOMAIN(`lita.internal')
VIRTUSER_DOMAIN(`lita.external')
U fajlu /etc/mail/virtusers se definišu odredišta za virtualne e-mail adrese:
info@lita.internal \student
@lita.external uskokovic@etf.bg.ac.yu ,uskokovic@gmail.com

SMTP autentifikacija
Za SMTP autentifikaciju potrebno je koristiti SASL (Simple Authentication and Security
Layer) koji će Sendmailu autentifikovati korisnike (npr. putem PAM-a).
sudo apt-get install sasl2-bin
Da bi se omogućio SASL treba prepraviti START=yes u fajlu /etc/default/saslauthd.
include(`/etc/mail/sasl/sasl.m4')dnl
Da bi se generisao heš za SMTP AUTH PLAIN komandu:
perl -MMIME::Base64 -e 'print encode_base64("\000student\@etf.rs\000student")'

SSL konekcije
Da bi se uključila podrška za TLS (SSL) potrebno je dodati liniju:
include(`/etc/mail/tls/starttls.m4')dnl

11
L301 – Administracija servisa elektronske pošte LITA

3. Dovecot POP i IMAP


Uvod
Dovecot je jedan od češće korišćenih POP i IMAP servera za Linux. Popularan je zbog svoje
brzine, jednostavnosti podešavanja i zbog dobre sigurnosti. Radi podjednako dobro i sa malim i sa
velikim brojem korisnika zahvaljujući indeksiranju poruka koje transparentno obavlja. Podržava
mbox i maildir skladišta poruka, koja bezbedno mogu biti i na NFS-u. Autentifikacija korisnika se
može obaviti prema više baza korisnika i mehanizama autentifikacije (PAM, MySQL, LDAP...).
Postoji i podrška za plugin-ove kao što su kvote i pristupne liste.
Instalacija
Ubuntu: sudo apt-get install dovecot-imapd dovecot-pop3d
Fedora: yum install dovecot
Podešavanje
Konfiguracioni fajl za dovecot je standardno /etc/dovecot/dovecot.conf, ali se putanja do fajla
koji se koristi može videti kada se dovecot pokrene sa parametrom -n. Fajl je dosta je dugačak ali i
detaljno iskomentarisan. Sledi primer konfiguracionog fajla:
protocols = imap imaps pop3 pop3s # protokoli koji su dostupni
mail_privileged_group = mail # grupa koja cita /var/mail/
log_path = /var/log/dovecot.log # izostaviti da bi islo u syslog
mail_location = mbox:~/mbox:INBOX=/var/mail/%u # ako se koristi mbox
# mail_location = maildir:~/Maildir # ako se koristi Maildir

# disable_plaintext_auth = yes # no za starije klijente


# ssl_cert_file = # putanja do ssl sertifikata
# ssl_key_file = # putanja do ssl kljuca
ssl_disable = no # omogucava imaps i pop3s protokole

protocol imap {
listen = 127.0.0.1:143 # nekriptovani pristup samo lokalno
ssl_listen = 147.91.13.160:943 # ssl pristup na javnoj adresi
mail_plugins = quota imap_quota
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd {
}
user = root
}
plugin {
quota = maildir:storage=10240:messages=10000 # 10MB i 10000 poruka
}

12
Linux IT Akademija L301 – Administracija servisa elektronske pošte

protocol lda {
postmaster_address = uskokovic@etf.rs
hostname = bot.etf.rs
mail_plugins = quota
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = mail # User running Dovecot LDA
group = mail # Or alternatively mode 0660 + LDA user in this group
}
}
Da bi maildir kvote ispravno radile, potrebno je da Sendmail koristi Dovecotov LDA za
isporuku pošte korisnicima. Da bi se to omogućilo potrebno je u sendmail.mc dodati sledeće
direktive umesto direktive MAILER(local):
FEATURE(`local_procmail', `/usr/lib/dovecot/deliver',`deliver -d $u')
MODIFY_MAILER_FLAGS(`LOCAL', `-f')
MAILER(procmail)

13

You might also like