Jednoduchý poštovní server (POP3+IMAP)
Mailserver založený na Postfix (SMTP) a Dovecot (POP3,IMAP) s běžnými uživatelskými účty.
Postfix bude plnit funkci SMTP serveru - tj. bude emaily uživatelů posílat do internetu, ale také bude emaily přijímat z internetu pro uživatele přijímat a ukládat do adresáře mail
v jejich domovských adresářích.
Dovecot bude emaily z tohoto adresáře uživatelům zpřístupňovat skze protokol POP3 a IMAP.
I pokud tedy chcete poštovní server jen pro příjem emailů, začněte Postfixem. Dokud se nedostanete přes první kontrolní bod (zkouška odeslání emailu pomocí telnetu), nebude adresář mail
v domovském adresáři uživatele vůbec existovat a zkoušet nastavit Dovecot tak nebude mít smysl.
Postfix - základ
apt-get install postfix
Internetový počítač domena.cz
/etc/postfix/main.cf
myorigin = /etc/mailname myhostname = mail.domena.cz myhost= mail.domena.cz mydomain = domena.cz inet_interfaces = all mydestination = domena.cz, localhost home_mailbox = mail/ # Jedno z nasledujicich mynetworks bude odkomentovane: # Lokalni aplikace muzou posilat jak chteji mynetworks = 127.0.0.0/8 # Kazdy muze posilat cokoli - open-relay! #mynetwork = 0/0Pro projevení změn v konfiguračním souboru Postfix restartujte:
/etc/init.d/postfix restart
Kontrolní bod: Test SMTP pomocí telnetu
Předpokládá existenci uživatele test. V jeho domovském adresáři bude automaticky vytvořena složkamail
a uloží se do ní takto odeslaný email.
$ telnet domena.cz 25 Trying 10.0.0.155... Connected to domena.cz. Escape character is '^]'. 220 mail.domena.cz ESMTP Postfix (Debian/GNU) helo domena.cz 250 mail.domena.cz mail from: test@domena.cz 250 2.1.0 Ok rcpt to: test@domena.cz 250 2.1.5 Ok data 354 End data withPokud se nyní vytvořila na správném místě schránka uživatele test, máte tímto funkční nezabezpečený SMTP server, skrze který můžete odesílat a přijímat emaily. (lokálně a pouze ručně) Z důvěryhodné sítě mynetworks lze posílat emaily i ven. (Odjinud to půjde až po přihlášení, které se dodělá později.). Zpráva uživateli test . 250 2.0.0 Ok: queued as 1923EE4F4 quit 221 2.0.0 Bye
Dovecot (POP3+IMAP)
Zcela nezávisle na Postfixu poběží služba Dovecot, která umožní vzdálené prohlížení obsahu emailových schránek.apt-get install dovecot-imapd dovecot-pop3d
/etc/dovecot/dovecot.conf
mail_location = maildir:~/mail protocols = imap imaps pop3 pop3s auth default { mechanisms = plain login passdb pam { } userdb passwd { } socket listen { client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }Pro projevení změn v konfiguračním souboru Dovecot restartujte:
/etc/init.d/dovecot restart
Kontrolní bod: Test poštovním klientem
Nyní by mělo být možné poštovní server normálně používat. Jako SMTP i POP3/IMAP server použijte libovolnou adresu vašeho serveru.Postfix - přihlášení k SMTP
/etc/postfix/main.cf
smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sender_restrictions = reject_sender_login_mismatch smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
touch /etc/postfix/sender_login_maps postmap /etc/postfix/sender_login_maps touch /etc/aliases newaliases /etc/init.d/postfix restart
Dovecot - SSL
Umožníme použití SSL při stahování emailů skrze POP3 nebo IMAP. V Debianu jsou potřebné SSL certifikáty generovány automaticky při instalaci, takže stačí SSL pouze povolit. Standardně je funkční STARTTLS. Nešifrovaná spojení je třeba povolit.nano /etc/dovecot/dovecot.conf
# Povolit SSL: ssl = yes # Vynutit SSL: #ssl = required # Povolit nesifrovane prihlaseni: disable_plaintext_auth = no # Certifikaty, Debian generuje automaticky ssl_cert_file = /etc/ssl/certs/dovecot.pem ssl_key_file = /etc/ssl/private/dovecot.pemPro projevení změn v konfiguračním souboru Dovecot restartujte:
/etc/init.d/dovecot restart
Postfix - SSL (Zabezpečené SMTP - SMTPS)
Odkomentujtesmtps
v /etc/postfix/master.cf
:
nano /etc/postfix/master.cf
smtp inet n - - - - smtpd smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
/etc/postfix/main.cf
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_security_level = mayPro projevení změn v konfiguračním souboru Postfix restartujte:
/etc/init.d/postfix restart
Založení uživatele
adduser honza echo "honza@hustopece.cz honza" >> /etc/postfix/sender_login_maps postmap /etc/postfix/sender_login_maps
Založení aliasu
echo "spravce: petr" >> /etc/aliases newaliases
Chybové stavy (anglický Thunderbird)
- An error occurred while sending mail. The mail server responded: 5.7.1
: Sender address rejected: not owned by user test. Please check the message recipient test@domena.cz and try again.
Snažíte se odeslat email a jako adresu odesílatele uvádíte adresu, která není přiřazená vašemu účtu. (Napravíte připsáním emailu a loginu do/etc/postfix/sender_login_maps
a příkazempostmap /etc/postfix/sender_login_maps
) - Login to server mail.domena.cz failed.
Pokud nastane při odesílání emailu, neplatné přihlašovací údaje k SMTP serveru. (Zkontrolujte také další nastavení - mělo by být nastaveno STARTTLS a Normal password)
Pokud nastane při příjmu emailu, neplatné přihlašovací údaje k POP3 nebo IMAP. - Sending of message failed. The message could not be sent because connecting to SMTP server mail.domena.cz
failed. The server may be unavailable or is refusing SMTP connections. Please verify that your SMTP server settings
are correct and try again, or contact the server administrator.
SMTP server neodpovídá - nejspíše je zcela nedostupný nebo se možná pokoušíte připojit skrze SSL a server jej nepodporuje.
Autor: ![]() Vydáno: 5.7.2011 15:32 Přečteno: 9899x Hodnocení: 96% (hodnoceno 5x) Vaše hodnocení: |
Setup Basic POP3/IMAP Mail Server in Centos/RHEL Postfix SASL Howto Postfix Configuration Parameters Postfix and Dovecot SASL Postfix and SSL |
Komentáře
super len skoda, ze to nemas v kombinacii s mysql.
Ja mam uzivatelov a hesla v mysql a neviem ako by som napisal to overenie hesiel.
Příště zkusím udělat filtry jako DKIM, antispam nebo antivir...