{"id":326,"date":"2016-08-09T07:50:10","date_gmt":"2016-08-09T07:50:10","guid":{"rendered":"http:\/\/tst-amo.pp.ua\/blog\/?page_id=326"},"modified":"2017-03-28T12:21:00","modified_gmt":"2017-03-28T12:21:00","slug":"exim-dovecot-mysql","status":"publish","type":"post","link":"https:\/\/tst-amo.net.ua\/blog\/?p=326","title":{"rendered":"Exim + Dovecot  + MySQL"},"content":{"rendered":"<p>1. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Exim:<\/p>\n<pre>cd \/usr\/ports\/mail\/exim\r\nmake install clean<\/pre>\n<p>\u041e\u043f\u0446\u0438\u0438 (\u0441 \u0437\u0430\u0434\u0435\u043b\u043e\u043c \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435)<\/p>\n<pre>[x] CONTENT_SCAN Enable exiscan email content scanner \u00a0 \u00a0 \r\n[x] DAEMON Install scripts to run as a daemon \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n[x] DISABLE_D_OPT Disable macros overrides using option -D\r\n[x] DKIM Enable support for DKIM \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n[x] DNSSEC Enable DNSSEC validation \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n[x] DOCS Build and\/or install documentation \u00a0 \u00a0 \u00a0 \u00a0 \r\n[x] EMBEDDED_PERL Enable embedded Perl interpreter \u00a0\r\n[x] ICONV Enable header charset conversion \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n[x] LMTP RFC2033 SMTP over command pipe transport \u00a0 \u00a0\r\n[x] OCSP Enable OCSP stapling \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n[x] PRDR Enable Per-Recipient-Data-Response support \r\n[x] SUID Install the exim binary suid root \u00a0 \u00a0\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 SMTP Authorization\r\n[x] AUTH_CRAM_MD5 Enable CRAM-MD5 authentication mechanisms\r\n[x] AUTH_DOVECOT Enable Dovecot authentication mechanisms\r\n[x] AUTH_PLAINTEXT Enable plaintext authentication\r\n[x] AUTH_SPA Enable Secure Password Authentication \r\n[x] SASLAUTHD Enable use of Cyrus SASL auth daemon\r\n[x] PAM Enable PAM authentication mechanisms\r\n[x] PASSWD Enable \/etc\/passwd lookups \u00a0 \u00a0 \r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Lookup support\r\n[x] CDB Enable CDB-style lookups \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \r\n[x] DNSDB Enable DNS-style lookups \u00a0 \u00a0 \u00a0  \u00a0\r\n[x] DSEARCH Enable directory-list lookups \r\n[x] LSEARCH Enable wildcarded-file lookups\r\n[x] MYSQL Enable mysql lookups \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Supported storage formats\r\n[x] MAILDIR Enable Maildir mailbox format \u00a0 \u00a0 \u00a0\r\n[x] MAILSTORE Enable Mailstore mailbox format \u00a0\r\n[x] MBX Enable MBX mailbox format \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 TLS support\r\n(*) TLS TLS support \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n<\/pre>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c conf \u0444\u0430\u0439\u043b<\/p>\n<pre>cd \/usr\/local\/etc\/exim\r\nee \/configure<\/pre>\n<pre># CONF EXIM + MYSQL + DOVECOT + CLAMAV + POSTFIX + DSPAM\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, dspam\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 - HELO\r\nprimary_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\nmysql_servers = localhost\/postfix\/pOstFix\/myPassWord\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\ndomainlist local_domains = ${lookup mysql{SELECT `domain` FROM `domain`\\\r\n WHERE `domain`='${domain}' AND `active`='1'}}\r\n\r\n# \u041b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\r\nlog_selector = +all\r\n#log_file_path = \/var\/log\/exim\/%D-%slog # \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0430 20160924-mainlog and 20160924-rejetlog\r\nlog_file_path = \/var\/log\/exim\/%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\ndomainlist relay_to_domains = ${lookup mysql{SELECT `domain` FROM `domain` \\\r\n WHERE `domain`='${domain}' AND `active`='1'}}\r\n\r\nhostlist relay_from_hosts = localhost : 127.0.0.1 : 192.168.1.0\/24\r\n\r\nacl_smtp_rcpt = acl_check_rcpt\r\nacl_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\nacl_smtp_data = acl_check_data\r\nav_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 783\r\n\r\n# SSL\r\ntls_certificate = \/etc\/ssl\/certs\/dovecot.pem\r\ntls_privatekey = \/etc\/ssl\/private\/dovecot.pem\r\n\r\n# \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c IPv6\r\ndisable_ipv6\r\n\r\n#\u043f\u043e\u0440\u0442 smtp\r\ndaemon_smtp_ports = 25 : 465\r\ntls_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\nqualify_domain = tst-amo.pp.ua\r\nqualify_recipient = tst-amo.pp.ua\r\n\r\nallow_domain_literals = false\r\nexim_user = mailnull\r\nexim_group = mail\r\n\r\nnever_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# \u0422\u043e\u043a\u0430 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e - \u0434\u0430\u0436\u0435 \u0438 \u043d\u0435\u0437\u043d\u0430\u044e... \u0421\u043f\u0430\u043c \u043d\u0430 \u044d\u0442\u043e\u043c \u043d\u0435 \u0440\u0435\u0436\u0435\u0442\u0441\u044f...\r\n# \u0417\u0430\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b - \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u043e\u043d\u044b \u0441\u043a\u0430\u0436\u0435\u0442 `\u0441\u0435\u0440\u0432\u0435\u0440 \u0444\u0430\u0439\u043b\u0435\u0434`\r\n# \u0442\u043e \u043f\u043e\u0447\u0442\u0443 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0412\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 :)\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# * \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0432\u0441\u0435\r\n# identd - \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c (\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438 \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c - \u043a\u0430\u043a\r\n# \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c), \u0441\u043a\u0430\u0436\u0435\u0442 UID \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e\r\n# \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0442\u0438\u043f \u041e\u0421, \u0438 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0422\u0435\u043f\u0435\u0440\u044c, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u043f\u043e\u0447\u0435\u043c\u0443\r\n# \u0443 \u0432\u0441\u0435\u0445 \u043e\u043d\u043e \u0437\u0430\u0440\u0443\u0431\u043b\u0435\u043d\u043e \u0438 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u043b\u0430\u043c\u0438 \u043f\u043e\u0437\u0430\u043a\u0440\u044b\u0442\u043e?\r\n#rfc1413_hosts = *\r\nrfc1413_query_timeout = 0s\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# \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0442\u0438\u043f\u0430 - \u043f\u0440\u0438\u0448\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\r\n# \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u044f\u0449\u0438\u043a user%test.su@lissyara.su \u0438\r\n# \u043f\u0435\u0440\u0435\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0433\u043e \u043d\u0430 user@test.su. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u043b\u044f\r\n# \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 (* - \u0432\u0441\u0435)\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# \u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e, \u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0449\u0435\u043d\u0438\u0435\r\n# \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435. \u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c\r\n# \u0442\u043e \u043e\u043d\u043e \u0437\u0430\u043c\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u044d\u0442\u043e\u043c \u043f\u0443\u043d\u043a\u0442\u0435 \u0441\u0440\u043e\u043a,\r\n# \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e. \u041f\u0440\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439\r\n# \u043d\u0435\u0443\u0434\u0430\u0447\u0435 - \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f.\r\nignore_bounce_errors_after = 2h\r\ntimeout_frozen_after = 14d\r\n\r\n# \u0421\u043f\u0438\u0441\u043e\u043a \u0445\u043e\u0441\u0442\u043e\u0432, \u043f\u043e\u0447\u0442\u0430 \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f\r\n# \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 HELO\/EHLO (\u0442\u0443\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u043c\u043e\u044f \u043f\u043e\u0434\u0441\u0435\u0442\u044c)\r\nhelo_accept_junk_hosts = 192.168.1.0\/24\r\n\r\n# \u0427\u0435\u0440\u0435\u0437 \u043a\u0430\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438\r\n# \u0437\u0430\u043c\u043e\u0440\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\r\nauto_thaw = 1h\r\n\r\n# \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\r\nsmtp_banner = \"$primary_hostname, ESMTP EXIM $version_number\"\r\n#smtp_banner = \"$primary_hostname, SUPER-PUPER MAIL SERVER\"\r\n\r\n# \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043f\u043e\r\n# SMTP. \u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\r\nsmtp_accept_max = 50\r\n\r\n# \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0435 \u0437\u0430 \u043e\u0434\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\r\n# \u043e\u0442 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0438\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f). C \u0447\u0438\u0441\u043b\u043e\u043c 25\r\n# \u044f \u0438\u043c\u0435\u043b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0442\u043e\u043a\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 - \u043a\u043e\u0433\u0434\u0430 \u0443 \u043c\u0435\u043d\u044f \u0442\u0440\u0438 \u0434\u043d\u044f \u043b\u0435\u0436\u0430\u043b\r\n# \u0438\u043d\u0435\u0442 \u0438 \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u043f\u043e\u0434\u044a\u0451\u043c\u0430 \u043f\u043e\u043f\u0451\u0440\u043b\u0438 \u043c\u0435\u0441\u0441\u0430\u0433\u0438. \u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0442\u0430\u043a\r\n# \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0447\u0442\u044b - \u0432\u0441\u0435\u0433\u043e 30 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.\r\nsmtp_accept_max_per_connection = 45\r\n\r\n# \u0447\u0451-\u0442\u043e \u043f\u0440\u043e \u043b\u043e\u0433\u0438 \u0438 \u0431\u043e\u0440\u044c\u0431\u0443 \u0441 \u0444\u043b\u0443\u0434\u043e\u043c - \u044f \u0442\u0430\u043a \u043f\u043e\u043d\u0438\u043c\u0430\u044e -\r\n# \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u043b\u043e\u0433\u0438\r\nsmtp_connect_backlog = 30\r\n\r\n# \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430\r\nsmtp_accept_max_per_host = 20\r\n\r\n# \u0425\u043e\u0434 \u043b\u0430\u0434\u044c\u0451\u0439 - \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438,\r\n# \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f `spool` \u0432\u043d\u0443\u0442\u0440\u0438, \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\r\n# \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 - \u044d\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443\r\nsplit_spool_directory = true\r\n\r\n# \u0415\u0441\u043b\u0438 \u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u043e\u0432 \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u0430\u0445,\r\n# \u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u0435\u0441\u044f \u0434\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u043b\u043e\r\n# \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438\r\nremote_max_parallel = 15\r\n\r\nreturn_size_limit = 10K\r\n\r\n# \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043d\u0435\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 HELO (\u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f\r\n# \u0441 \u044d\u0442\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e - \u0438\u043c\u044f \u0444\u0438\u0440\u043c\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u043e \u0438\u0437 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\r\n# \u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0430\u0437\u0434\u043e\u043b\u0431\u0430\u0439 \u0434\u043e\u043c\u0435\u043d \u043e\u0431\u043e\u0437\u0432\u0430\u043b my_firme_name\r\n# \u043f\u0440\u044f\u043c \u0441 \u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438... \u0412\u0438\u043d\u0434\u043e\u0432\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0438\r\n# \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0440\u0430\u0434\u043e\u0441\u0442\u043d\u043e \u0440\u0430\u043f\u043e\u0440\u0442\u043e\u0432\u0430\u043b\u0438 \u043e \u0441\u0435\u0431\u0435\r\n# `vasya.my_firme_name` \u043d\u0443 \u0430 \u044d\u043a\u0437\u0438\u043c \u0438\u0445 \u0444\u0443\u0442\u0431\u043e\u043b\u0438\u043b :))\r\nhelo_allow_chars = _\r\n\r\nsyslog_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\nmessage_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\nbegin 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\r\nacl_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\r\naccept 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\r\ndeny message = \"incorrect symbol in address\"\r\n domains = +local_domains\r\n local_parts = ^[.] : ^.*[@%!\/|]\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\r\ndeny message = \"incorrect symbol in address\"\r\n domains = !+local_domains\r\n local_parts = ^[.\/|] : ^.*[@%!] : ^.*\/\\\\.\\\\.\/\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\naccept local_parts = postmaster\r\n domains = +local_domains\r\n\r\n# \u0417\u0430\u043f\u0440\u0435\u0449\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# require verify = 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\ndeny message = \"HELO\/EHLO require by SMTP RFC\"\r\n condition = ${if eq{$sender_helo_name}{}{yes}{no}}\r\n\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 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e! \u042d\u0442\u043e \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\naccept authenticated = *\r\n\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\ndeny message = \"Your IP in HELO - access denied!\"\r\n\r\nhosts = * : !+relay_from_hosts : !81-196.lissyara.su\r\n condition = ${if eq{$sender_helo_name}\\\r\n {$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\ndeny condition = ${if eq{$sender_helo_name}\\\r\n {$interface_address}{yes}{no}}\r\n hosts = !127.0.0.1 : !localhost : *\r\n message = \"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\ndeny condition = ${if match{$sender_helo_name}\\\r\n {\\N^\\d+$\\N}{yes}{no}}\r\n hosts = !127.0.0.1 : !localhost : *\r\n message = \"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\ndeny message = \"your hostname is bad (adsl, poll, ppp &amp; etc).\"\r\n condition = ${if match{$sender_host_name} \\\r\n {adsl|dialup|pool|peer|dhcp} \\\r\n {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 set acl_m0 = 0s\r\n\r\nwarn\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 set acl_m0 = 0s\r\nwarn\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 logwrite = Delay $acl_m0 for $sender_host_name \\\r\n [$sender_host_address] with HELO=$sender_helo_name. Mail \\\r\n from $sender_address to $local_part@$domain.\r\n 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\naccept domains = +local_domains\r\n endpass\r\n message = \"In my mailserver not stored this user\"\r\n verify = 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\naccept domains = +relay_to_domains\r\n endpass\r\n message = \"main server not know how relay to this address\"\r\n verify = 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\ndeny message = you are in blacklist: $dnslist_domain --&gt; $dnslist_text\r\n dnslists = opm.blitzed.org : \\\r\n # cbl.abuseat.org : \\\r\n # bl.csma.biz : \\\r\n 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\naccept hosts = +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\ndeny message = \"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\nacl_check_mime:\r\ndeny message = \u042d\u0442\u043e \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 condition = ${if match{$mime_filename}{\\N(?i)\\.zip$\\N}}\r\n decode = default\r\n 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 log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients\r\n\r\ndeny message = \u042d\u0442\u043e \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 condition = ${if match{$mime_filename}{\\N(?i)\\.rar$\\N}}\r\n decode = default\r\n 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 log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients\r\naccept\r\n\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\nacl_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 deny senders = \/usr\/local\/etc\/exim\/deny_senders\r\n message = \"DENY!!! Your address is: $sender_address in the black list!!!\"\r\n # logwrite = Rejected from $sender_address to $local_part@$domain by blacklist.\r\n log_message = Rejected from $sender_address to $local_part@$domain by blacklist.\r\n\r\n# \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0432\u0438\u0440\u0443\u0441\u044b\r\n deny message = In email found VIRUS ($malware_name)\r\n malware = *\r\n\r\n# accept by default\r\n accept\r\n\r\n###############\r\nbegin routers\r\n\r\ncheck_malware:\r\n driver = redirect\r\n condition = ${if def:h_X-Quarantine-Me-Malware: {1}{0}}\r\n headers_remove = Subject\r\n headers_add = Subject: [CLAMAV: $acl_m2] $h_Subject\r\n data = postmaster@tst-amo.pp.ua\r\n file_transport = address_file\r\n\r\n# \u041f\u043e\u0438\u0441\u043a \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430 \u043a \u0445\u043e\u0441\u0442\u0443 \u0432 DNS. \u0415\u0441\u043b\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0432 DNS -\r\n# \u0442\u043e \u044d\u0442\u043e `\u0443\u043d\u0440\u043e\u0443\u0442\u0430\u0431\u043b\u0435 \u0430\u0434\u0434\u0440\u0435\u0441\u0441`. \u041d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435\r\n# \u0434\u043e\u043c\u0435\u043d\u044b, 0.0.0.0 \u0438 127.0.0.0\/8\r\ndnslookup:\r\n driver = dnslookup\r\n domains = ! +local_domains\r\n transport = remote_smtp\r\n ignore_target_hosts = 0.0.0.0 : 127.0.0.0\/8\r\n no_more\r\n\r\n# \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u043b\u0438\u0430\u0441\u044b\r\nsystem_aliases:\r\n driver = redirect\r\n allow_fail\r\n allow_defer\r\n data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \\\r\n `address`='${quote_mysql:$local_part@$domain}' OR \\\r\n `address`='${quote_mysql:@$domain}'}}\r\n\r\n# \u0422\u0435, \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \/etc\/mail\/aliases\r\n\r\nsystem_aliases2:\r\n driver = redirect\r\n allow_fail\r\n allow_defer\r\n data = ${lookup{$local_part}lsearch{\/etc\/aliases}}\r\n user = mailnull\r\n group = mail\r\n file_transport = address_file\r\n pipe_transport = address_pipe\r\n\r\n# DSPAM ROUTERS\r\ndspam_addspam_router:\r\n driver = accept\r\n domains = +local_domains\r\n local_part_prefix = spam-\r\n transport = dspam_addspam_transport\r\n\r\ndspam_notspam_router:\r\n driver = accept\r\n domains = +local_domains\r\n local_part_prefix = notspam-\r\n transport = dspam_notspam_transport\r\n\r\ndspam_spamscan_router:\r\n driver = accept\r\n domains = +local_domains\r\n no_verify\r\n condition = \"${if and {{!eq {$received_protocol}{spam-scanned}} \\\r\n {!eq {$received_protocol}{local}} } {1}{0}}\"\r\n transport = dspam_spamcheck_transport\r\n require_files = \/usr\/local\/bin\/dspam\r\n address_test = false\r\n user = mailnull\r\n group = mail\r\n\r\nlocal_delivery_spam_router:\r\n driver = accept\r\n domains = +local_domains\r\n condition = ${if match{$h_X-DSPAM-Result:}{Spam}}\r\n transport = local_delivery_spam_transport\r\n no_more\r\n user = mailnull\r\n group = mail\r\n\r\n# LOCAL DELIVERY\r\n# \u0420\u043e\u0443\u0442\u0435\u0440 \u0434\u043b\u044f \u0432\u0438\u0440\u0442 \u043f\u043e\u043b\u044c\u0437 MySQL\r\ndovecot_user:\r\n driver = accept\r\n condition = ${lookup mysql{SELECT `goto` FROM \\\r\n `alias` WHERE \\\r\n `address`='${quote_mysql:$local_part@$domain}' OR \\\r\n `address`='${quote_mysql:@$domain}'}{yes}{no}}\r\n\r\ntransport = dovecot_delivery\r\n cannot_route_message = Unknown user\r\n\r\n# \u0420\u043e\u0443\u0442\u0435\u0440 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445\r\n#localuser2:\r\n# driver = accept\r\n# check_local_user\r\n# #transport = dovecot_delivery\r\n# transport = local_delivery\r\n# transport_current_directory = \/\r\n# cannot_route_message = Unknown user\r\n\r\n##################\r\nbegin transports\r\n\r\nremote_smtp:\r\n driver = smtp\r\n\r\n# DSPAM TRANSPORT\r\ndspam_addspam_transport:\r\n driver = pipe\r\n command = \"\/usr\/local\/bin\/dspam --user \\\r\n $local_part@$domain --class=spam --source=error\"\r\n return_path_add = false\r\n return_fail_output = true\r\n log_output = true\r\n home_directory = \"\/var\/db\/dspam\"\r\n current_directory = \"\/var\/db\/dspam\"\r\n user = mailnull\r\n #user = dspam\r\n group = mail\r\n\r\ndspam_notspam_transport:\r\n driver = pipe\r\n command = \"\/usr\/local\/bin\/dspam --user \\\r\n $local_part@$domain --class=innocent \\\r\n --source=error --deliver=innocent %u\"\r\n return_path_add = false\r\n return_fail_output = true\r\n log_output = true\r\n home_directory = \"\/var\/db\/dspam\"\r\n current_directory = \"\/var\/db\/dspam\"\r\n #user = dspam\r\n user = mailnull\r\n group = mail\r\n\r\ndspam_spamcheck_transport:\r\n driver = pipe\r\n command = \/usr\/local\/bin\/dspam --deliver=innocent \\\r\n --user \"$local_part@$domain\" -- %u\r\n\r\n#user = dspam\r\n user = mailnull\r\n group = mail\r\n return_path_add = false\r\n log_output = true\r\n return_fail_output = true\r\n headers_remove = X-DSPAM-Result\r\n\r\nlocal_delivery_spam_transport:\r\n driver = pipe\r\n# \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u0438\u0441\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u043a \u0441\u043f\u0430\u043c \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441\u043f\u0430\u043c\u0430\r\n# \u0443 \u043c\u0435\u043d\u044f \u044d\u0442\u043e\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 Junk\r\n command = \/usr\/local\/libexec\/dovecot\/deliver -d \\\r\n $local_part@$domain -m Junk\r\n message_prefix =\r\n message_suffix =\r\n delivery_date_add\r\n envelope_to_add\r\n return_path_add\r\n log_output\r\n user = mailnull\r\n group = mail\r\n\r\n# \u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 Dovecot (MySQL)\r\ndovecot_delivery:\r\n driver = pipe\r\n command = \/usr\/local\/libexec\/dovecot\/dovecot-lda -e -d $local_part@$domain -f $sender_address -a $original_local_part@$original_domain\r\n return_path_add\r\n log_output = true\r\n delivery_date_add\r\n envelope_to_add\r\n user = mailnull\r\n group = mail\r\n return_output\r\n\r\n# \u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439\r\n# Does not work sieve!\r\n#local_delivery:\r\n# driver = appendfile\r\n# maildir_format\r\n# maildir_tag = ,S=$message_size\r\n## directory = \/home\/mail\/$domain\/$local_part\r\n# directory = \/var\/vmail\/$local_part\/Maildir\r\n# create_directory\r\n# delivery_date_add\r\n# envelope_to_add\r\n# return_path_add\r\n# group = mail\r\n# mode = 0660\r\n# no_mode_fail_narrower\r\n\r\naddress_pipe:\r\n driver = pipe\r\n return_output\r\n\r\naddress_file:\r\n driver = appendfile\r\n delivery_date_add\r\n envelope_to_add\r\n return_path_add\r\n\r\naddress_reply:\r\n driver = autoreply\r\n\r\nbegin retry\r\n* * F,2h,15m; G,16h,1h,1.5; F,4d,6h\r\n\r\nbegin rewrite\r\n\r\n###############\r\nbegin 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# driver = plaintext\r\n# public_name = LOGIN\r\n# server_prompts = \"Username:: : Password::\"\r\n# server_condition = \"${if pam {$auth1:$auth2}{yes}{no}}\"\r\n# server_set_id = $auth1\r\n\r\n#PLAIN:\r\n# driver = plaintext\r\n# public_name = PLAIN\r\n# server_condition = \"${if pam {$auth2:$auth3}{yes}{no}}\"\r\n# 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\ndovecot_login:\r\ndriver = dovecot\r\npublic_name = LOGIN\r\nserver_socket = \/var\/run\/dovecot\/auth-client\r\nserver_set_id = $auth1\r\n\r\ndovecot_plain:\r\ndriver = dovecot\r\npublic_name = PLAIN\r\nserver_socket = \/var\/run\/dovecot\/auth-client\r\nserver_set_id = $auth1\r\n\r\ndovecot_cram_md5:\r\ndriver = dovecot\r\npublic_name = CRAM-MD5\r\n\r\nserver_socket = \/var\/run\/dovecot\/auth-client\r\nserver_set_id = $auth1\r\n\r\n########################<\/pre>\n<p>2. \u0421\u0442\u0430\u0432\u0438\u043c dovecot<\/p>\n<pre>cd \/usr\/ports\/mail\/dovecot2\r\nmake install clean<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-bottom-right\"><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts326&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=wpv2posts326&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 (\u0441 \u0437\u0430\u0434\u0435\u043b\u043e\u043c \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435) [x] CONTENT_SCAN Enable exiscan email content scanner \u00a0 \u00a0 [x] DAEMON Install scripts to run as a daemon \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 [x] DISABLE_D_OPT Disable macros overrides using option -D [x] DKIM Enable support for DKIM \u00a0 \u00a0 \u00a0 \u00a0 &#8230;<\/p>\n<p><a href=\"https:\/\/tst-amo.net.ua\/blog\/?p=326\" class=\"more-link\">Continue reading &lsquo;Exim + Dovecot  + MySQL&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,50,7],"tags":[],"class_list":["post-326","post","type-post","status-publish","format-standard","hentry","category-exim","category-freebsd","category-mail"],"_links":{"self":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326"}],"collection":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=326"}],"version-history":[{"count":6,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326\/revisions"}],"predecessor-version":[{"id":2099,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326\/revisions\/2099"}],"wp:attachment":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}