{"id":324,"date":"2016-08-09T07:48:35","date_gmt":"2016-08-09T07:48:35","guid":{"rendered":"http:\/\/tst-amo.pp.ua\/blog\/?page_id=324"},"modified":"2016-08-10T19:25:34","modified_gmt":"2016-08-10T19:25:34","slug":"exim-dovecot-%d0%b1%d0%b5%d0%b7-mysql-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d0%b5%d0%bb%d0%b8","status":"publish","type":"page","link":"https:\/\/tst-amo.net.ua\/blog\/?page_id=324","title":{"rendered":"Exim + Dovecot  (\u0431\u0435\u0437 MySQL &#8211; \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438)"},"content":{"rendered":"<p>1. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <strong>Exim<\/strong><\/p>\n<pre># cd \/usr\/ports\/mail\/exim\r\n# make install clean<\/pre>\n<p><strong>\u041e\u043f\u0446\u0438\u0438<\/strong> \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u0431\u0440\u0430\u043b \u0442\u0430\u043a\u0438\u0435 (\u0441 \u0437\u0430\u0434\u0435\u043b\u043e\u043c \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435)<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>2. \u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b<strong> \/etc\/mail\/mailer.conf<\/strong>, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 <em>sendmail<\/em> \u043d\u0430 <em>exim<\/em>.<\/p>\n<pre> sendmail \/usr\/local\/sbin\/exim\r\n send-mail \/usr\/local\/sbin\/exim\r\n mailq \/usr\/local\/sbin\/exim -bp\r\n newaliases \/usr\/local\/sbin\/exim -bi\r\n hoststat \/usr\/local\/sbin\/exim\r\n purgestat \/usr\/local\/sbin\/exim<\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0434\u0432\u0443\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u043b\u044e\u0447\u0438.<br \/>\n3. \u0421\u043e\u0437\u0434\u0430\u0435\u043c <strong>\u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u0430<\/strong> (\u0438\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 &#8211; \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e) \u0438 <strong>\u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430<\/strong>.<\/p>\n<pre># mkdir -p \/var\/vmail\/\r\n# chown -R mailnull:mail \/var\/vmail<\/pre>\n<p>4. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u0438\u043d\u044f\u043b \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434<\/p>\n<pre> # CONF EXIM + MYSQL + DOVECOT + CLAMAV\r\n # \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f - \u0434\u043e\u0432\u0435\u043a\u043e\u0442. \u043a\u0432\u043e\u0442\u044b, \u043a\u043b\u0430\u043c\u0430\u0432, \u0411\u0414 \u0432 \u043c\u0443\u0441\u043a\u0443\u043b\u0435 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 - \u0432 \u0444\u0430\u0439\u043b\u0435\r\n \r\n # \u0418\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\r\n primary_hostname = mail.tst-amo.pp.ua\r\n \r\n # \u0445\u043e\u0441\u0442\/\u0411\u0414\/\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\/\u043f\u0430\u0440\u043e\u043b\u044c\r\n mysql_servers = localhost\/mail\/mailreader\/\r\n \r\n # \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u043d\u0430\u0448\u0435\u0439 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\r\n domainlist local_domains = ${lookup mysql{select domain from domains where  domain='${domain}'}}\r\n \r\n # \u041b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\r\n log_selector = +all\r\n log_file_path = \/var\/log\/exim\/%D-%slog\r\n \r\n # \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043c\u0435\u043d\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0448\u0430 \u043f\u043e\u0447\u0442\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439\r\n domainlist relay_to_domains = ${lookup mysql{select domain from domains where domain='${domain}'}}\r\n hostlist relay_from_hosts = localhost : 127.0.0.1 : 192.168.1.0\/24 : 194.44.219.160\/28 : 194.44.31.34\r\n acl_smtp_rcpt = acl_check_rcpt\r\n acl_smtp_mime = acl_check_mime\r\n \r\n # \u041f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441 - \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e exim \u0441\u043e\u0431\u0440\u0430\u043d\r\n # \u0441 \u0435\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u044f \u044e\u0437\u0430\u0435\u043c ClamAV,\r\n # \u0438\u0431\u043e - \u041f\u041e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c! :)\r\n # \u0418\u0442\u0430\u043a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u043a\u0435\u0442\u0430 clamd.\r\n acl_smtp_data = acl_check_data\r\n av_scanner = clamd:\/var\/run\/clamav\/clamd.sock\r\n \r\n # \u0410\u0434\u0440\u0435\u0441 \u043a\u0443\u0434\u0430 \u0441\u043b\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441\u043f\u0430\u043c\u0430 (SpamAssasin), \u043d\u043e \u044f\r\n # \u044d\u0442\u043e \u043d\u0435 \u044e\u0437\u0430\u044e. \u041d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0443 \u043c\u0435\u043d\u044f \u0441\u043f\u0430\u043c\u0430... \r\n # spamd_address = 127.0.0.1 78\r\n \r\n # SSL\r\n tls_certificate = \/etc\/ssl\/certs\/dovecot.pem\r\n tls_privatekey = \/etc\/ssl\/private\/dovecot.pem\r\n \r\n # \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c IPv6\r\n disable_ipv6\r\n \r\n #\u043f\u043e\u0440\u0442 smtp \r\n daemon_smtp_ports = 25 : 465\r\n tls_on_connect_ports = 465\r\n \r\n # \u0414\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u043c\u0435\u043d\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b\r\n qualify_domain = tst-amo.pp.ua\r\n qualify_recipient = tst-amo.pp.ua\r\n \r\n allow_domain_literals = false\r\n exim_user = mailnull\r\n exim_group = mail\r\n \r\n never_users = root\r\n \r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u044f\u043c\u0443\u044e \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0437\u043b\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u043f\u043e DNS\r\n host_lookup = *\r\n \r\n # \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0443\u0437\u043b\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 ident\r\n rfc1413_hosts = *\r\n rfc1413_query_timeout = 5s\r\n \r\n # \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a % \u0434\u043b\u044f \u044f\u0432\u043d\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0447\u0442\u044b\r\n #percent_hack_domains =\r\n \r\n # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\r\n ignore_bounce_errors_after = 2h\r\n timeout_frozen_after = 7d\r\n \r\n return_size_limit = 10K\r\n split_spool_directory = true\r\n syslog_timestamp = no\r\n \r\n # \u041b\u0438\u043c\u0438\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f (50 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 default)\r\n message_size_limit = 1000M\r\n \r\n ################\r\n ### \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f ACL \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u043f\u043e\u0447\u0442\u044b\r\n begin acl\r\n \r\n # \u042d\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f\r\n acl_check_rcpt:\r\n \r\n # \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0448\u043b\u0438 \u0441 \u043b\u043e\u043a\u0430\u043b\u0445\u043e\u0441\u0442\u0430,\r\n # \u043d\u0435 \u043f\u043e TCP\/IP\r\n \u00a0 accept\u00a0 hosts = :\r\n \r\n # \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438\r\n # \u0441\u0438\u043c\u0432\u043e\u043b\u044b @; %; !; \/; |. \u0423\u0447\u0442\u0438\u0442\u0435, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0431\u044b\u043b\u043e\r\n # `percent_hack_domains` \u0442\u043e % \u043d\u0430\u0434\u043e \u0443\u0431\u0440\u0430\u0442\u044c.\r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043e\u043c\u0435\u043d\u044b\r\n deny \u00a0\u00a0 message \u00a0 \u00a0 \u00a0 = \"incorrect symbol in address\"\r\n domains \u00a0 \u00a0 \u00a0 = +local_domains\r\n local_parts \u00a0 = ^[.] : ^.*[@%!\/|]\r\n \r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043b\u044f\r\n # \u043d\u0435\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439:\r\n deny \u00a0\u00a0 message \u00a0 \u00a0 \u00a0 = \"incorrect symbol in address\"\r\n domains \u00a0 \u00a0 \u00a0 = !+local_domains\r\n local_parts \u00a0 = ^[.\/|] : ^.*[@%!] : ^.*\/\\\\.\\\\.\/\r\n \r\n # \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u043e\u0447\u0442\u0443 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u0431\u0435\u0437\r\n # \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f (\u044f \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b, \u0442.\u043a. \u044d\u0442\u043e -\r\n # \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u043f\u0430\u043c\u0430 \u0441 \u043c\u043e\u0439 \u044f\u0449\u0438\u043a).\r\n \r\n accept\u00a0 local_parts \u00a0 = postmaster\r\n domains \u00a0 \u00a0 \u00a0 = +local_domains\r\n \r\n # \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c, \u0435\u0441\u043b\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f\r\n # (\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439)\r\n # \u0423 \u0441\u0435\u0431\u044f \u044f \u044d\u0442\u043e \u0437\u0430\u043a\u043e\u043c\u0435\u043d\u0442\u0438\u043b, \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435\r\n # \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0438 (\u043f\u0440\u0438\u043d\u0442\u0435\u0440\u044b, &amp; etc) \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u041a\u0430\u0441\u043f\u0435\u0440\u0441\u043a\u0438\u0439, DrWEB)\r\n # \u0443\u043c\u0435\u044e\u0442 \u0441\u043b\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u043e \u043d\u0435 \u0443\u043c\u0435\u044e\u0442 \u0441\u0442\u0430\u0432\u0438\u0442\u044c\r\n # \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f. \u0422\u0430\u043a\u0438\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u044d\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u0435\u0442.\r\n #\u00a0 require verify \u00a0 \u00a0 \u00a0\u00a0 = sender\r\n \r\n # \u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0435 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438\r\n # \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 (HELO\/EHLO)\r\n \r\n deny\u00a0 \u00a0 message \u00a0 \u00a0 \u00a0 = \"HELO\/EHLO require by SMTP RFC\"\r\n \u00a0 \u00a0 \u00a0 \u00a0 condition \u00a0 \u00a0 = ${if eq{$sender_helo_name}{}{yes}{no}}\r\n # \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 \u0442\u0435\u0445, \u043a\u0442\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f:\r\n # \u0412\u043e\u043e\u0431\u0449\u0435, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u0432 \u0440\u0443\u043d\u0435\u0442\u0435 - \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435\r\n # \u043a\u043e\u043d\u0444\u0438\u0433 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 Ginger, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u043e\u0442 \u043f\u0443\u043d\u043a\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\r\n # \u0432\u043d\u0438\u0437\u0443. \u041d\u043e \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0440\u0443\u0431\u044f\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0441 adsl,\r\n # ppp, \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0437\u0430\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u0445. \u041d\u043e \u044d\u0442\u043e\r\n # \u0436\u0435 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e! \u042d\u0442\u043e\u043c \u043c\u043e\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u0434\u043e\u043c\u0430! \u041f\u043e\u0442\u043e\u043c\u0443\r\n # \u044f \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u043b \u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a.\r\n \r\n accept\u00a0 authenticated = *\r\n # \u0420\u0443\u0431\u0430\u0435\u043c \u043d\u0430\u0445, \u0442\u0435\u0445, \u043a\u0442\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u0439 IP \u0432 HELO\r\n deny \u00a0\u00a0 message \u00a0 \u00a0 \u00a0 = \"Your IP in HELO - access denied!\"\r\n \u00a0 \u00a0 \u00a0 \u00a0 hosts \u00a0 \u00a0 \u00a0 \u00a0 =\u00a0 * : !+relay_from_hosts : !81-196.lissyara.su\r\n \u00a0 \u00a0 \u00a0 \u00a0 condition \u00a0 \u00a0 = ${if eq{$sender_helo_name}\\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{$sender_host_address}{true}{false}}\r\n \r\n # \u0420\u0443\u0431\u0430\u0435\u043c \u0442\u0435\u0445, \u043a\u0442\u043e \u0432 HELO \u043f\u0438\u0445\u0430\u0435\u0442 \u043c\u043e\u0439 IP (2500 \u043c\u0443\u0434\u0430\u043a\u043e\u0432 \u0437\u0430 \u043c\u0435\u0441\u044f\u0446!)\r\n deny \u00a0\u00a0 condition \u00a0 \u00a0 = ${if eq{$sender_helo_name}\\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 {$interface_address}{yes}{no}}\r\n \u00a0 \u00a0 \u00a0 \u00a0 hosts \u00a0 \u00a0 \u00a0 \u00a0 = !127.0.0.1 : !localhost : *\r\n \u00a0 \u00a0 \u00a0 \u00a0 message \u00a0 \u00a0 \u00a0 = \"main IP in your HELO! Access denied!\"\r\n \r\n # \u0420\u0443\u0431\u0430\u0435\u043c \u0442\u0435\u0445, \u043a\u0442\u043e \u0432 HELO \u043f\u0438\u0445\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b\r\n # (\u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u0445\u043e\u0441\u0442\u043e\u0432 \u0422\u041e\u041b\u042c\u041a\u041e \u0438\u0437 \u0446\u0438\u0444\u0440)\r\n deny \u00a0\u00a0 condition \u00a0 \u00a0 = ${if match{$sender_helo_name}\\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 {\\N^\\d+$\\N}{yes}{no}}\r\n \u00a0 \u00a0 \u00a0 \u00a0 hosts \u00a0 \u00a0 \u00a0 \u00a0 = !127.0.0.1 : !localhost : *\r\n \u00a0 \u00a0 \u00a0 \u00a0 message \u00a0 \u00a0 \u00a0 = \"can not be only number in HELO!\"\r\n \r\n # \u0420\u0443\u0431\u0430\u0435\u043c \u0445\u043e\u0441\u0442\u044b \u0442\u0438\u043f\u0430 *adsl*; *dialup*; *pool*;....\r\n # \u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0441 \u0442\u0430\u043a\u0438\u0445 \u043d\u0435 \u043f\u0438\u0448\u0443\u0442. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0443\u0442\r\n # \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b - \u0443\u0431\u0435\u0440\u0451\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 (\u0443 \u043c\u0435\u043d\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u044b\r\n # \u0438\u043c\u0435\u044e\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0442\u0438\u043f\u0430 asdl-1233.zone.su - \u044f ADSL \u0443\u0431\u0440\u0430\u043b...)\r\n deny \u00a0\u00a0 message \u00a0 \u00a0 \u00a0 = \"your hostname is bad (adsl, poll, ppp &amp; etc).\"\r\n \u00a0 \u00a0 \u00a0 \u00a0 condition \u00a0 \u00a0 = ${if match{$sender_host_name} \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 {adsl|dialup|pool|peer|dhcp} \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 {yes}{no}}\r\n # \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430. (\u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0431\u043e\u0440\u044c\u0431\u044b \u0441\u043e \u0441\u043f\u0430\u043c\u043e\u043c,\r\n # \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0435\u0433\u043e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438) \u041d\u0430 \u044d\u0442\u043e\u043c \u0440\u0443\u0431\u0430\u0435\u0442\u0441\u044f\r\n # \u043f\u043e\u0447\u0442\u0438 \u0432\u0435\u0441\u044c \u0441\u043f\u0430\u043c. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e - \u043c\u0435\u0442\u043e\u0434 \u043d\u0435\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u043d\u0430 \r\n # \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 MTA - \u0442.\u043a. \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0435\u043c\u0443\r\n # \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439.\r\n # \u043d\u043e \u043d\u0430 \u043e\u0444\u0438\u0441\u0435 \u0432 \u0441\u043e\u0442\u043d\u044e-\u0434\u0432\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a - \u0448\u0438\u043a\u0430\u0440\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434.\r\n #\r\n # \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e exim \u0438 \r\n # \u043a\u0443\u0440\u044c\u0435\u0440 \u0438\u043c\u0430\u043f. \u0422.\u043a. \u0442\u0430\u043c \u043c\u0435\u0442\u043e\u0434 \u0431\u043e\u043b\u0435 \u0443\u043c\u043d\u044b\u0439 (\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\r\n # \u0431\u043e\u043b\u044c\u0448\u0435 :), \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c)\r\n \r\nwarn\r\n # C\u0442\u0430\u0432\u0438\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043e\u0432\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 30 \u0441\u0435\u043a\u0443\u043d\u0434\r\n \u00a0 set acl_m0 = 30s\r\n warn\r\n # \u0441\u0442\u0430\u0432\u0438\u043c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 0 \u0441\u0435\u043a\u0443\u043d\u0434 \u0441\u0432\u043e\u0438\u043c \u0445\u043e\u0441\u0442\u0430\u043c \u0438 \r\n # \u0434\u0440\u0443\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u0435\u0442\u044f\u043c (\u0441\u043e\u0441\u0435\u0434\u043d\u044f\u044f \u043a\u043e\u043d\u0442\u043e\u0440\u0430 :))\r\n hosts = +relay_from_hosts:192.168.1.0\/24:194.44.219.160\/28\r\n \u00a0 set acl_m0 = 0s\r\n warn\r\n # \u043f\u0438\u0448\u0435\u043c \u0432 \u043b\u043e\u0433\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 (\u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u0432\u0430\u043c \u043d\u0430\u0434\u043e)\r\n \u00a0 logwrite = Delay $acl_m0 for $sender_host_name \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 [$sender_host_address] with HELO=$sender_helo_name. Mail \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 from $sender_address to $local_part@$domain.\r\n \u00a0 \u00a0\u00a0 delay = $acl_m0\r\n \r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u0430\u0445.\r\n # E\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442, \u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 ACL,\r\n # \u0438 \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u0440\u043e\u0448\u0451\u043b \u0438 \u0442\u0430\u043c - deny\r\n accept\u00a0 domains \u00a0 \u00a0 \u00a0 = +local_domains\r\n \u00a0 \u00a0 \u00a0 \u00a0 endpass\r\n \u00a0 \u00a0 \u00a0 \u00a0 message \u00a0 \u00a0 \u00a0 = \"In my mailserver not stored this user\"\r\n \u00a0 \u00a0 \u00a0 \u00a0 verify \u00a0 \u00a0 \u00a0\u00a0 = recipient\r\n \r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u0432 \u0440\u0435\u043b\u0435\u0439\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u0430\u0445\r\n # \u041e\u043f\u044f\u0442\u044c-\u0442\u0430\u043a\u0438 \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 -&gt; \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 ACL,\r\n # \u0438 \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u0440\u043e\u0448\u0451\u043b \u0438 \u0442\u0430\u043c - deny\r\n accept\u00a0 domains \u00a0 \u00a0 \u00a0 = +relay_to_domains\r\n \u00a0 \u00a0 \u00a0 \u00a0 endpass\r\n \u00a0 \u00a0 \u00a0 \u00a0 message \u00a0 \u00a0 \u00a0 = \"main server not know how relay to this address\"\r\n \u00a0 \u00a0 \u00a0 \u00a0 verify \u00a0 \u00a0 \u00a0\u00a0 = recipient\r\n \r\n # \u0420\u0443\u0431\u0430\u0435\u043c \u0442\u0435\u0445, \u043a\u0442\u043e \u0432 \u0431\u043b\u044d\u043a-\u043b\u0438\u0441\u0442\u0430\u0445. \u0421\u0435\u0440\u0432\u0430\u043a\u0438 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f\r\n # \u0441\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0441\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c, \u0442\u043e\r\n # \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u043e\u0439, \u0438 \u0442.\u0434. \u0415\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c\r\n # \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 - \u0442\u043e \u043f\u043e\u0447\u0442\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.\r\n deny \u00a0\u00a0 message\u00a0 \u00a0 \u00a0 \u00a0= you are in blacklist: $dnslist_domain --&gt; $dnslist_text\r\n \u00a0 \u00a0 \u00a0 \u00a0 dnslists \u00a0 \u00a0\u00a0 = opm.blitzed.org : \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cbl.abuseat.org : \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 # \u00a0 \u00a0 \u00a0 \u00a0\u00a0 bl.csma.biz : \\\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dynablock.njabl.org\r\n \r\n # \u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u043e\u0447\u0442\u0443 \u043e\u0442 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 relay_from_hosts\r\n accept\u00a0 hosts \u00a0 \u00a0 \u00a0 \u00a0 = +relay_from_hosts\r\n \r\n # \u0415\u0441\u043b\u0438 \u043d\u0435\u043f\u043e\u0434\u043e\u0448\u043b\u043e \u043d\u0438 \u043e\u0434\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e - \u0447\u0443\u0432\u0430\u043a \u044f\u0432\u043d\u043e \u0438\u0449\u0435\u0442\r\n # \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0440\u0435\u043b\u0435\u0439. \u041f\u0448\u0451\u043b \u043f\u0440\u043e\u0447\u044c. :)\r\n deny \u00a0\u00a0 message \u00a0 \u00a0 \u00a0 = \"relay not permitted\"\r\n \r\n ##############\r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0439\r\n acl_check_mime:\r\n deny message = \u0414\u0430\u043d\u043d\u043e\u0439 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0435\r\n \u00a0 condition = ${if match{$mime_filename}{\\N(?i)\\.zip$\\N}}\r\n \u00a0 decode = default\r\n \u00a0 condition = ${if match{${run{\/usr\/bin\/unzip -l $mime_decoded_filename}}}{\\N(?i)\\.(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)\\n\\N}}\r\n \u00a0 log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients\r\n \r\n deny message = \u0414\u0430\u043d\u043d\u043e\u0439 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0435\r\n \u00a0 condition = ${if match{$mime_filename}{\\N(?i)\\.rar$\\N}}\r\n \u00a0 decode = default\r\n \u00a0 condition = ${if match{${run{\/usr\/bin\/unrar l $mime_decoded_filename}}}{\\N(?i)\\.(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)\\n\\N}}\r\n \u00a0 log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients\r\n accept\r\n \r\n ###############\r\n # \u0422\u0443\u0442 \u0438\u0434\u0443\u0442 ACL \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 (\u0442\u0435\u043b\u043e) \u043f\u0438\u0441\u044c\u043c\u0430.\r\n # \u0411\u0435\u0437 \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.\r\n \r\n acl_check_data:\r\n \r\n # \u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b\r\n \u00a0 \u00a0 deny senders\u00a0 = \/usr\/local\/etc\/exim\/deny_senders\r\n \u00a0 \u00a0 \u00a0 \u00a0\u00a0 message\u00a0 = \"DENY!!!\"\r\n \r\n # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0432\u0438\u0440\u0443\u0441\u044b\r\n \u00a0 \u00a0 deny message = VIRUS found ($malware_name)\r\n \u00a0 \u00a0 malware = *\r\n \u00a0 \u00a0 accept\r\n \r\n ###############\r\n begin routers\r\n \r\n check_malware:\r\n \u00a0\u00a0 driver = redirect\r\n \u00a0\u00a0 condition = ${if def:h_X-Quarantine-Me-Malware: {1}{0}}\r\n \u00a0\u00a0 headers_remove = Subject\r\n \u00a0\u00a0 headers_add = Subject: [CLAMAV: $acl_m2] $h_Subject\r\n \u00a0\u00a0 data = postmaster@tst-amo.pp.ua\r\n \u00a0\u00a0 file_transport = address_file\r\n \r\n dnslookup:\r\n \u00a0 driver = dnslookup\r\n \u00a0 domains = ! +local_domains\r\n \u00a0 transport = remote_smtp\r\n \u00a0 ignore_target_hosts = 0.0.0.0 : 127.0.0.0\/8\r\n \u00a0 no_more\r\n \r\n system_aliases:\r\n \u00a0 driver = redirect\r\n \u00a0 allow_fail\r\n \u00a0 allow_defer\r\n #\u00a0 data = ${lookup mysql{select alias from aliases where email='${quote_mysql:$local_part}' and domain='${quote_mysql:$domain}'}}\r\n \u00a0 data = ${lookup mysql{select alias from aliases where email='${quote_mysql:$local_part}' }}\r\n \u00a0 user = mailnull\r\n \u00a0 group = mail\r\n \u00a0 file_transport = address_file\r\n \u00a0 pipe_transport = address_pipe\r\n \r\n system_aliases2:\r\n \u00a0 driver = redirect\r\n \u00a0 allow_fail\r\n \u00a0 allow_defer\r\n \u00a0 data = ${lookup{$local_part}lsearch{\/etc\/aliases}}\r\n \u00a0 user = mailnull\r\n \u00a0 group = mail\r\n \u00a0 file_transport = address_file\r\n \u00a0 pipe_transport = address_pipe\r\n \r\n userforward:\r\n \u00a0 driver = redirect\r\n \u00a0 check_local_user\r\n \u00a0 no_verify\r\n \u00a0 no_expn\r\n \u00a0 check_ancestor\r\n \u00a0 file_transport = address_file\r\n \u00a0 pipe_transport = address_pipe\r\n \u00a0 reply_transport = address_reply\r\n #\u00a0 data = ${lookup mysql{select alias from aliases where email='${quote_mysql:$local_part}' and domain='${quote_mysql:$domain}'}}\r\n \u00a0 data = ${lookup mysql{select alias from aliases where email='${quote_mysql:$local_part}' }}\r\n \r\n userforward2:\r\n \u00a0 driver = redirect\r\n \u00a0 check_local_user\r\n \u00a0 file = $home\/.forward\r\n \u00a0 no_verify\r\n \u00a0 no_expn\r\n \u00a0 check_ancestor\r\n \u00a0 file_transport = address_file\r\n \u00a0 pipe_transport = address_pipe\r\n \u00a0 reply_transport = address_reply\r\n \u00a0 condition = ${if exists{$home\/.forward} {yes} {no} }\r\n \r\n localuser:\r\n \u00a0 driver = accept\r\n \u00a0 domains = ${lookup mysql{select domain from domains where domain='${domain}'}}\r\n \u00a0 local_parts = ${lookup mysql{select email from users where email='${local_part}'}}\r\n \u00a0 transport = local_delivery\r\n \u00a0 cannot_route_message = Unknown user\r\n \r\n localuser2:\r\n \u00a0 driver = accept\r\n \u00a0 check_local_user\r\n \u00a0 transport = local_delivery\r\n \u00a0 transport_current_directory = \/\r\n \u00a0 cannot_route_message = Unknown user \r\n \r\n ##################\r\n begin transports\r\n \r\n remote_smtp:\r\n \u00a0 driver = smtp\r\n \r\n local_delivery:\r\n \u00a0 driver = appendfile\r\n \u00a0 maildir_format\r\n \u00a0 maildir_tag = ,S=$message_size\r\n #\u00a0 directory = \/home\/mail\/$domain\/$local_part\r\n \u00a0 directory = \/var\/vmail\/$local_part\/Maildir\r\n \u00a0 create_directory\r\n \u00a0 delivery_date_add\r\n \u00a0 envelope_to_add\r\n \u00a0 return_path_add\r\n \u00a0 group = mail\r\n \u00a0 mode = 0660\r\n \u00a0 no_mode_fail_narrower\r\n \r\n address_pipe:\r\n \u00a0 driver = pipe\r\n \u00a0 return_output\r\n \r\n address_file:\r\n \u00a0 driver = appendfile\r\n \u00a0 delivery_date_add\r\n \u00a0 envelope_to_add\r\n \u00a0 return_path_add\r\n \r\n address_reply:\r\n \u00a0 driver = autoreply\r\n \u00a0\r\n begin retry\r\n * \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 * \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 F,2h,15m; G,16h,1h,1.5; F,4d,6h\r\n \r\n begin rewrite\r\n \r\n ###############\r\n begin authenticators\r\n \r\n # \u0414\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 EXIM\r\n #LOGIN:\r\n # \u00a0\u00a0 driver = plaintext\r\n # \u00a0\u00a0 public_name = LOGIN\r\n # \u00a0\u00a0 server_prompts = \"Username:: : Password::\"\r\n # \u00a0\u00a0 server_condition = \"${if pam {$auth1:$auth2}{yes}{no}}\"\r\n # \u00a0\u00a0 server_set_id = $auth1\r\n \r\n #PLAIN:\r\n # \u00a0\u00a0 driver = plaintext\r\n # \u00a0\u00a0 public_name = PLAIN\r\n # \u00a0\u00a0 server_condition = \"${if pam {$auth2:$auth3}{yes}{no}}\"\r\n # \u00a0\u00a0 server_set_id = $auth2\r\n \r\n \r\n # \u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 dovecot\r\n dovecot_login:\r\n driver = dovecot\r\n public_name = LOGIN\r\n server_socket = \/var\/run\/dovecot\/auth-client\r\n server_set_id = $auth1\r\n \r\n dovecot_plain:\r\n driver = dovecot\r\n public_name = PLAIN\r\n server_socket = \/var\/run\/dovecot\/auth-client\r\n server_set_id = $auth1\r\n \r\n dovecot_cram_md5:\r\n driver = dovecot\r\n public_name = CRAM-MD5\r\n server_socket = \/var\/run\/dovecot\/auth-client\r\n server_set_id = $auth1\r\n \r\n ########################<\/pre>\n<p>5. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c sendmail \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c exim:<\/p>\n<pre># ee \/etc\/rc.conf\r\nsendmail_enable=\"NONE\"\r\nsendmail_submit_enable=\"NO\"\r\nexim_enable=\"YES\"<\/pre>\n<p>11. \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e.<\/p>\n<pre># mail -s \u2018First letter for sentec mail server\u2019 info@sentec.ru\r\n This is test message!\r\n .\r\n EOT\r\n#<\/pre>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432 \u043b\u043e\u0433-\u0444\u0430\u0439\u043b\u0435:<\/p>\n<pre># tail \/var\/log\/exim\/mainlog<\/pre>\n<p>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0445\u0430:<\/p>\n<pre>2010-10-26 21:34:24 1PAnPk-0005al-AG &lt;= root@mail.sentec.ru U=root P=local S=323 \r\n2010-10-26 21:34:24 1PAnPk-0005al-AG =&gt; info &lt;info@sentec.ru&gt; R=localuser \r\nT=local_delivery 2010-10-26 21:34:24 1PAnPk-0005al-AG Completed<\/pre>\n<p>12. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0441\u043c\u043e\u0433\u043b\u0438<em> \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443<\/em> \u0441 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<br \/>\n\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 POP\/IMAP-\u0441\u0435\u0440\u0432\u0435\u0440 <strong>Dovecot<\/strong> (\u0433\u043e\u043b\u0443\u0431\u044f\u0442\u043d\u044f :)).<\/p>\n<pre># cd \/usr\/ports\/mail\/dovecot\r\n# make install clean<\/pre>\n<p>13. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c&#8230;.<\/p>\n<p>14. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c <strong>SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b <\/strong>(\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u0435\u043d \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 &#8211; \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c). \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 <em>dovecot-openssl.cnf<\/em>.<\/p>\n<pre># mkdir -p \/etc\/ssl\/certs\r\n# mkdir -p \/etc\/ssl\/private\r\n# \/usr\/local\/share\/examples\/dovecot\/mkcert.sh\r\n# ls -l \/etc\/ssl\/certs &amp;&amp; ls -l \/etc\/ssl\/private<\/pre>\n<p>15. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c dovecot.<\/p>\n<pre># \/usr\/local\/etc\/rc.d\/dovecot start<\/pre>\n<p>16. \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435-\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e\u0447\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 (SMTP\/POP3\/IMAP). \u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435, \u0447\u0442\u043e \u0432 <em>\/etc\/rc.firewall<\/em> \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0440\u0442\u044b: <em>25, 110, 143, 993<\/em>.<br \/>\n\u041d\u0430 \u044d\u0442\u043e\u043c \u2014 \u0432\u0441\u0435.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-page pdfprnt-bottom-right\"><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2pages324&print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"View PDF\" \/><\/a><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2pages324&print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Print Content\" \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>1. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Exim # cd \/usr\/ports\/mail\/exim # make install clean \u041e\u043f\u0446\u0438\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u0431\u0440\u0430\u043b \u0442\u0430\u043a\u0438\u0435 (\u0441 \u0437\u0430\u0434\u0435\u043b\u043e\u043c \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435) &nbsp; &nbsp; 2. \u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/mail\/mailer.conf, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 sendmail \u043d\u0430 exim. sendmail \/usr\/local\/sbin\/exim send-mail \/usr\/local\/sbin\/exim mailq \/usr\/local\/sbin\/exim -bp newaliases \/usr\/local\/sbin\/exim -bi hoststat \/usr\/local\/sbin\/exim purgestat \/usr\/local\/sbin\/exim \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0434\u0432\u0443\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u043b\u044e\u0447\u0438. 3. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f &#8230;<\/p>\n<p><a href=\"https:\/\/tst-amo.net.ua\/blog\/?page_id=324\" class=\"more-link\">Continue reading &lsquo;Exim + Dovecot  (\u0431\u0435\u0437 MySQL &#8211; \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438)&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-324","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/pages\/324"}],"collection":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=324"}],"version-history":[{"count":11,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/pages\/324\/revisions"}],"predecessor-version":[{"id":341,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/pages\/324\/revisions\/341"}],"wp:attachment":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}