Összeállította: Sallai András Levelezőszerver egyszerűen
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 MS SMTP MDA MSA SMTP MTA Majd tovább küldi
Levelezőszerver fogadja a levelet MS SMTP POP3 IMAP MDA MSA MTA Majd tárolja
Levelezőszerver MS POP3 szerver IMAP szever MDA Postfix MSA MTA
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 Egy mappa egy könyvtár Minden levél egy fájlban Egy mappa Egy fájl
mbox helye /var/mail/ Normál Linux felhasználók Nagy forgalmú levelezőkön Használata nem javasolt Nagy fájloknál a levelek olvasása lassú
Maildir helye /home/username/maildir Normál Linux felhasználók Virtuális e-mail felhasználók /home/vmail/domainname/username/maildir
Feladó Mi az a MUA? Címzett
MUA - Mail User Agent Levelező kliens Thunderbird Opera Mail The Bat! Microsoft Outlook Outlook Express Kmail Mutt
Levélfejléc Return-Path: <root@matrix> 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 <root@matrix> To: Sallai =?iso-8859-1?q?andr=e1s?= <andras@matrix> 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 IMAP Post Office Protocol 3 Levél letöltés 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 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: <jozsi@zold.hu> 250 2.1.0 Ok rcpt to: <kati@piros.hu> 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> SMTP kommunikáció
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 <24999.1259006863@freemail.hu> 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 Port SMTP 25 SMTPS 465 POP3 110 IMAP 143 POP3S 995 IMAPS 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.
/etc/postfix main.cf master.cf Telepítés után
main.cf A legtöbb alapértelmezett beállítás használható név = érték párosok másiknév = $név A nevek újrahasználhatók
mailq - a queue tartalma sendmail -f postsuper -d queue-id Queue kezelés
/etc/postfix/main.cf myhostname = gepnev.cegnev.hu A gép teljes neve mydomain = cegnev.hu myorigin = $mydomain Tartomány 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 /etc/aliases postmaster: jozsi root: jozsi newaliases Minden módosítás után 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 alias_maps Pl. NIS adatbázist is megadhatunk 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: bela+ham@foo.fu bela+spam@foo.hu
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 jozis@lila.hu +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: <valaki@valahol.hu> X-Original-To: andras Delivered-To: andras@arasz.snet.and Received: from vagyok (localhost [127.0.0.1]) by arasz.snet.and (Postfix) with ESMTP id B14F5187DF for <andras>; Thu, 26 Nov 2009 23:53:28 +0100 (CET) Subject: test 001 Message-Id: <20091126225328.B14F5187DF@arasz.snet.and> Date: Thu, 26 Nov 2009 23:53:28 +0100 (CET) From: valaki@valahol.hu 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 jozsi@lila.hu +OK Password required. pass titok +OK logged in.