Levelezőszerver egyszerűen
Összeállította: Sallai András
A levelezés eszközei Mail User Agent – levél írása MUA MSA MTA MDA MS
Mail Submission Agent fogad Mail Transfer Agent - továbbít Mail Delivery Agent – eloszt, átad Mail Storage - tárol
Feladó
Internet Levelezőszerver Levelezőszerver
Címzett
Levelezőszerver fogadja a levelet
SMTP
MS MDA MSA
SMTP
MTA
Majd tovább küldi
Levelezőszerver fogadja a levelet MS POP3 IMAP
MDA MSA MTA Majd tárolja
SMTP
Levelezőszerver MS MDA MSA MTA
POP3 szerver IMAP szever Postfix
POP3 szerverek popa3d dovecot-pop3d
POP3 (bmox) POP3, POP3S (Maildir, mbox)
courier-pop courier-pop-ssl
POP3 (Maildir) POP3S (Maildir)
IMAP szerverek
dovecot-imapd
IMAP, IMAPS (Maildir, mbox)
courier-imap IMAP (Maildir) courier-imap-ssl IMAPS (Maildir)
dovecot dovecot-pop3d dovecot-imapd Alaból Maildir formátumban tárol Mbox beállítása: /etc/dovecot/dovecot.conf mail_location = mbox:~/mail/INBOX=/var/mail/%u
SMTP SMTP
IMAP POP3
Levelek tárolása Maildir
mbox
Minden levél külön fájlban
Minden levél egy fájlban
Egy mappa egy könyvtár
Egy mappa Egy fájl
mbox helye Normál Linux felhasználók /var/mail/
Nagy forgalmú levelezőkön Használata nem javasolt Nagy fájloknál a levelek olvasása lassú
Maildir helye Normál Linux felhasználók /home/username/Maildir
Virtuális e-mail felhasználók /home/vmail/domainname/username/Maildir
Feladó
Címzett
Mi az a MUA?
MUA - Mail User Agent Levelező kliens Thunderbird Opera Mail The Bat! Microsoft Outlook Outlook Express Kmail Mutt
Levélfejléc Return-Path:
X-Original-To: andras@matrix Delivered-To: andras@matrix Received: by matrix (Postfix, from userid 0) id 9336923441C; Sat, 28 Nov 2009 12:09:56 +0100 (CET) Date: Sat, 28 Nov 2009 12:09:55 +0100 From: root To: Sallai =?iso-8859-1?Q?Andr=E1s?= Subject: teszt Message-ID: <20091128110955.GA6077@matrix> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17)
Alkalmazott protokollok Simple Mail Transfer Protocol Levélküldés SMTP POP3
Post Office Protocol 3 Levél letöltés
IMAP Internet Message Access Protocol Levél hozzáférés
220 piros.hu ESMTP Postfix (Debian/GNU) ehlo zold.hu 250-piros.hu 250-PIPELINING SMTP 250-SIZE 10240000 kommunikáció 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: <[email protected]> 250 2.1.0 Ok rcpt to: 250 2.1.5 Ok data 354 End data with .
SMTP alaputasítások
EHLO ki vagyok MAIL FROM Kitől van a levél RCPT TO Kinek szól a levél DATA Adatok amit küldök
POP3 alaputasítások USER felhasznalonev - felhasználónév PASS jelszó - Jelszó megadása STAT - levelek száma és összméret LIST - levelek sorszámmal és mérettel RETR – Letöltés DELE – Törlése
POP3 teszt freemail-en telnet freemail.hu 110 Trying 195.228.245.1... Connected to freemail.hu. Escape character is '^]'. +OK <[email protected]> user jozsi +OK pass titok +OK
IMAP
A levelek nem töltődnek le, a szerveren tárolódnak. Sok funkció, üzenetállapotok, stb.
Protokollok és portok
Protokoll SMTP SMTPS POP3 IMAP POP3S IMAPS
Port 25 465 110 143 995 993
Postfix
Telepítés apt-get install postfix
Az így telepített postfix quota-át nem tud. Forrás foltozni kell, újrafodítani a quota-hoz.
Telepítés után
/etc/postfix main.cf master.cf
main.cf A legtöbb alapértelmezett beállítás használható
név = érték párosok A nevek újrahasználhatók másiknév = $név
Queue kezelés mailq - a queue tartalma sendmail -f postsuper -d queue-id
/etc/postfix/main.cf A gép teljes neve myhostname = gepnev.cegnev.hu Tartomány mydomain = cegnev.hu myorigin = $mydomain
Helyben keletkezett levélbe írodik
Mely gépnevekhez tartozó leveleket dolgozzuk fel mydestination = $myhostname, localhost
Szerveren átmenő levelek
mynetworks = 127.0.0.0/8 192.168.1.0/24
Rajtunk keresztül innen engedélyezett levélküldés
Levélküldő szerver relay_domains = Milyen szerver fogad tőlünk levelet Akkor is ha nem neki szól Általában az Internet szolgáltatónk fogad ilyen levelet csak Dedikált e-mail szervernél nem szoktunk ilyet beállítani
Álnevek alias_maps = hash:/etc/aliases newaliases Minden módosítás után /etc/aliases postmaster: jozsi root: jozsi A postmaster és a root felhasználóknak címzett levek is elfogadottak és a jozsi felhasználónak kapja
Álnevek 2 alias_database
Álnevek megadása szintén
alias_database = hash:/etc/aliases Pl. NIS adatbázist is megadhatunk alias_maps alias_maps = hash:/etc/aliases, nis:mail.aliases
Értesítés új levélről biff = yes Ha a felhasználó belép login promptnál értesítést kap ha új levele érkezett
A linuxos biff csomag biff parancsa ugyanezt a feladatot látja el
MAIL FROM kiegészítése append_dot_mydomain = no
Ha a levelező nem ír pont domaint a mail from: sorba és a mydomain változónak adtunk értéket, akkor a postfix hozzáfűzi a mail from: sor végéhez
Olvasnivalók helye readme_directory = /usr/share/doc/postfix
A Postfix README fájlok helye, Amelyek leírják hogyan építsük, konfiguráljuk vagy kezeljük egy Postfix alrendszert vagy lehetőséget.
HTML olvasnivalók helye html_directory = /usr/share/doc/postfix/html
A Postfix HTML fájlok helye, Amelyek leírják hogyan építsük, konfiguráljuk vagy kezeljük egy Postfix alrendszert vagy lehetőséget.
Értesítés delay_warning_time = 4h Alapértelmezett: 0h Mennyi idő után kapjon a küldő üzenetet Levélfejrészek queue-ban tartózkodásáról. Engedélyezéshez nem nulla értéket kell beállítani Idő egységek: s (másodpercek), m (percek), h (órák), d (napok), w (hetek). Az alapértelmezett időegység: h (órák).
Procmail használata mailbox_command = procmail -a „$EXTENSION” Az érkező leveleket a procmail is feldolgozza. Alapértelmezetten nincs procmail konfiguráció Beállítva, de minden felhasználó írhat magának .procmailrc fájlt. Több változót is átadunk a procmail programnak
Postafiók mérete mailbox_size_limit = 0
Alapértelmezett: 51 200 000
0 érték korlátozás nélküliséget ad Nem lehet kisebb mint a message size limit
Elválasztó recipient_delimiter = + Felhasználónév és a kiterjesztés közötti elválasztó
Például spamszűrésnél használjuk: [email protected] [email protected]
Hálózati eszközök inet_interfaces = all Melyik eszközön fogadjunk leveleket
Esetleg: inet_interfaces = 192.168.1.2, 127.0.0.1
POP3
POP3 szerver telepítése apt-get install popa3d
Levelek mbox-ban
POP3 ellenőrzése telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Hello there. user gabor +OK Password required. pass titok +OK logged in.
Sikertelen azonosítás Escape character is '^]'. +OK Hello there. user [email protected] +OK Password required. pass titok -ERR Login failed.
További pop3 parancsok list +OK POP3 clients that break here, they violate STD53. 1 445 2 445 3 445 4 418 5 418 6 418 .
RETR 1 parancs retr 1 +OK 445 octets follow. Return-Path: X-Original-To: andras Delivered-To: [email protected] Received: from vagyok (localhost [127.0.0.1]) by arasz.snet.and (Postfix) with ESMTP id B14F5187DF for ; Thu, 26 Nov 2009 23:53:28 +0100 (CET) Subject: test 001 Message-Id: <[email protected]> Date: Thu, 26 Nov 2009 23:53:28 +0100 (CET) From: [email protected] To: undisclosed-recipients:; Teszt levél
Egyéb beállítások
Maildir könyvtár Linux felhasználóknak mailbox_command = procmail -a „$EXTENSION” DEFAULT=$HOME/Maildir/ home_mailbox = Maildir/ Postfixben
MAILDIR-hez szerverek apt-get install dovecot-pop3d apt-get install dovecot-imapd
POP3 Ellenőrzés telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Hello there. user [email protected] +OK Password required. pass titok +OK logged in.