V (asi) předposledním dílu seriálu o serveru si nakonfigurujeme SMTP server a stahování pošty přes POP3. Nakonec si ještě převedeme schránky z mboxů na maildiry.
Potřebné programy nainstalujeme jednoduše:
# apt-get install postfix dovecot
Dpkg se zeptá na typ nastavení a doménové jméno. Necháme Internetový server a jméno server.crapola.com.
Otevřeme si /etc/postfix/main.cf a nastavíme si banner:
smtpd_banner = $myhostname ESMTP $mail_name (Debian)
domény, pro které chceme přijímat maily
mydestination = server.crapola.com, server, localhost.localdomain,
localhost, crapola.com, users.crapola.com
a nakonec IP adresy, pro které chceme relayovat do celého internetu
mynetworks = 192.168.0.0/24
# /etc/init.d/postfix reload
Tak a teď ho vyzkoušíme.
jenda@HLAVNI:~$ telnet server.crapola.com 25
Trying 84.42.202.191...
Connected to yakumo.hrach.eu.
Escape character is '^]'.
220 CRAPOLA ESMTP Postfix (Debian)
HELO CRAPOLA
250 CRAPOLA
MAIL FROM: test@testovic.ru
250 2.1.0 Ok
RCPT TO: jenda@server.crapola.com
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: test
From: test@testovic.ru
To: jenda@server.crapola.com
Ahoj, blablabla
.
250 2.0.0 Ok: queued as CF1D1EFEE
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
Přihlásíme se na server a už bychom měli vidět You have new mail. Přečteme si ho a vymažeme ho.
"/var/mail/jenda": 1 message
>R 1 Jan Hrach Pá říj 12 20: 17/431 Ahoj
& t1
To: <jenda@server.crapola.com>
Subject: test
Date: Fri, 12 Oct 2007 20:58:18 +0200 (CEST)
From: test@testovic.ru
Ahoj, blablabla
& d1
& ^D
Held 0 messages in /var/mail/jenda
Takže to nám funguje. Teď vyřešit vybírání přes POP3.
Dovecot se konfiguruje překvapivě v /etc/dovecot/dovecot.conf. Takže nejdřív si vybereme protokoly
protocols = pop3
dáme mu za úkol poslouchat vždy a všude
listen = *
a povolíme nešifrovanou komunikaci
disable_plaintext_auth = no
# /etc/init.d/dovecot restart
(neumí reload)
No a teď si v Thunderbirdu vyrobíme nový účet a zadáme do něj patřičné údaje. A když se ujistíme, že to funguje, sebereme nepovolaným osobám shell.
# chsh -s /bin/false jenda
Teď se nám všechny maily pro jednoho uživatele ukládají do jednoho velikého souboru /var/mail/uživatel. To má některé nevýhody, třeba když se k tomu souboru pokusí přistupovat více programů naráz. Proto se používají IMHO lepší maildiry, což jsou adresáře, kde má každá zpráva svůj vlastní soubor.
Musíme změnit v konfiguráku Postfixu
mailbox_command = /usr/bin/procmail DEFAULT=/var/mail/$USER/maildir/ MAILDIR=/var/mail/$USER/maildir/
mail_spool_directory = /var/mail/
a Dovecotu
mail_location = maildir:/var/mail/%u/maildir/
Teď když uděláme
# /etc/init.d/postfix reload
# /etc/init.d/dovecot restart
…tak zjistíme, že maily nechodí. Musíme vytvořit ten adresář
# mkdir /var/mail/jenda
a nastavit mu vlastníka
# chown jenda:skupina /var/mail/jenda
Teď máme funkční maildiry. Hurá!
V příštím a asi posledním díle nám bude skript posílat SMS, když se něco nového objeví v dmesgu a generovat jednoduché statistiky na web (příklad tady).
[1] fetchmail + procmail .. a mam centralni sklad mailu ze vsech ruznych mist, pak nad to imap, nejspis ta sama situace nez u tebe, vice viz treba na http://gentoo-wiki.com/Procmail_configuration
Paranoidní? Ale ne – kde máte důkaz, že po mně nejdou?
Přečteno 24 405×
Přečteno 21 175×
Přečteno 14 331×
Přečteno 12 088×
Přečteno 11 573×