{"id":166487,"date":"2013-01-21T15:22:03","date_gmt":"2013-01-21T11:22:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=166487"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=166487","title":{"rendered":"<span class=\"post_title\">Postfix\u0410dmin revamped (ViMbAdmin)<\/span>"},"content":{"rendered":"<div class=\"content html_format\">\n<h4>ViMbAdmin<\/h4>\n<p>  <strong>ViMbAdmin<\/strong> \u043f\u0440\u043e\u0435\u043a\u0442 (<em>vim\/-be\/-admin\/<\/em>) \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445<br \/>  \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438, \u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430\u043c\u0438. <br \/>  ViMbAdmin \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 GNU General Public License \u0432\u0435\u0440\u0441\u0438\u0438 3.<\/p>\n<p>  ViMbAdmin \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 PHP \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e web application framework, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Zend Framework, ORM Doctrina \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 Smarty \u0441 JQuery \u0438 Bootstrap.<\/p>\n<p>  ViMbAdmin \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 GitHub, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e, <br \/>  \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434. <a href=\"https:\/\/github.com\/opensolutions\/ViMbAdmin\" title=\"GitHub\">GitHub<\/a><\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h3>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 PostfixAdmin \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0432 \u0441\u0435\u0431\u044f:<\/h3>\n<p>   \u2014 \u0421\u0443\u043f\u0435\u0440-\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u0441 \u043f\u043e\u043b\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c;<br \/>   \u2014 \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0435\u043d\u0443 \u0438 \u0438\u0445 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u043c \u044f\u0449\u0438\u043a\u0430\u043c \u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430\u043c;<br \/>   \u2014 \u0421\u0443\u043f\u0435\u0440-\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0443\u043f\u0435\u0440 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432;<br \/>   \u2014 JQuery Datatable \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0438 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446;<br \/>   \u2014 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435;<br \/>   \u2014 \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \/ \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \u0434\u043e\u043c\u0435\u043d\u043e\u0432, \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432 \u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u0432 \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043e\u0434\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438;<br \/>   \u2014 \u041f\u043e\u043b\u043d\u043e\u0435 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0439;<br \/>   \u2014 \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 (\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u0432 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432), \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c;<\/p>\n<h3>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0432 \u0441\u0435\u0431\u044f:<\/h3>\n<p>   \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043a\u0432\u043e\u0442\u044b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432 \u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u043e\u043c\u0435\u043d\u0430;<br \/>   \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0432 \u0441\u0445\u0435\u043c\u0443 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 UID, GID, \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 Maildir);<br \/>   \u2014 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0438\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439;<br \/>   \u2014 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 plain \u0438\u043b\u0438 hashed \u0438\u043b\u0438 salted \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430;<br \/>   \u2014 \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441 salted SHA;<br \/>   \u2014 Password Reset \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432;<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/0_login.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/1_domain_full.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/1_domains.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/2_add_domain.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/3_admin_domains.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/4_mailboxes.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/5_add_mailbox.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/6_mailbox_aliases.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/7_aliases.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/8_add_alias.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/9_administrators.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/www.opensolutions.ie\/images\/vimbadmin\/10_admin_domains.png\"\/><\/p>\n<h3>\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 ViMbAdmin<\/h3>\n<p>  <a href=\"https:\/\/github.com\/opensolutions\/ViMbAdmin\/wiki\/Installation-instructions\">github.com\/opensolutions\/ViMbAdmin\/wiki\/Installation-instructions<\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430:<\/h3>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c CentALT + EPEL \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:  <\/p>\n<pre><code class=\"bash\">rpm -Uhv http:\/\/centos.alt.ru\/pub\/repository\/centos\/6\/x86_64\/centalt-release-6-1.noarch.rpm rpm -Uhv http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-8.noarch.rpm <\/code><\/pre>\n<p>  \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:  <\/p>\n<pre><code class=\"bash\">yum install postfix dovecot dovecot-pigeonhole <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0433\u0440\u0443\u043f\u043f\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u044f\u0449\u0438\u043a\u0438:  <\/p>\n<pre><code class=\"bash\">groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d \/home\/vmail -m <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a MySQL:  <\/p>\n<blockquote>\n<pre><code class=\"bash\">mkdir \/etc\/postfix\/mysql touch \/etc\/postfix\/mysql\/virtual-alias-maps.cf <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">user = vimbadmin password = password hosts = 127.0.0.1 dbname = vimbadmin query = SELECT goto FROM alias WHERE address = '%s' AND active = '1' <\/code><\/pre>\n<\/blockquote>\n<blockquote>\n<pre><code class=\"bash\">touch \/etc\/postfix\/mysql\/virtual-mailbox-domains.cf <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">user = vimbadmin password = password hosts = 127.0.0.1 dbname = vimbadmin query = SELECT domain FROM domain WHERE domain = '%s' AND backupmx = '0' AND active = '1' <\/code><\/pre>\n<\/blockquote>\n<blockquote>\n<pre><code class=\"bash\">touch \/etc\/postfix\/mysql\/virtual-mailbox-maps.cf <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">user = vimbadmin password = password hosts = 127.0.0.1 dbname = vimbadmin query = SELECT maildir FROM mailbox WHERE username = '%s' AND active = '1' <\/code><\/pre>\n<\/blockquote>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \/etc\/dovecot\/dovecot.conf:  <\/p>\n<pre><code class=\"bash\"># 2.0.21: \/etc\/dovecot\/dovecot.conf auth_mechanisms = plain login disable_plaintext_auth = no log_timestamp = &quot;%Y-%m-%d %H:%M:%S &quot; mail_location = maildir:\/home\/vmail\/%d\/%n mail_privileged_group = mail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave namespace {   inbox = yes   location =   prefix =   type = private } passdb {   driver = pam } passdb {   args = \/etc\/dovecot\/dovecot-sql.conf   driver = sql } protocols = imap pop3 service auth {   unix_listener \/var\/spool\/postfix\/private\/auth {     group = postfix     mode = 0660     user = postfix   }   unix_listener auth-master {     mode = 0600     user = vmail   }   user = root } userdb {   driver = passwd } userdb {   args = uid=5000 gid=5000 home=\/home\/vmail\/%d\/%n allow_all_users=yes   driver = static } protocol pop3 {   pop3_uidl_format = %08Xu%08Xv } protocol lda {   auth_socket_path = \/var\/run\/dovecot\/auth-master   log_path = \/home\/vmail\/dovecot-deliver.log   postmaster_address = postmaster@myserver.com }  <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/dovecot\/dovecot-sql.conf:  <\/p>\n<pre><code class=\"bash\">driver = mysql connect = host=127.0.0.1 dbname=vimbadmin user=vimbadmin password=password default_pass_scheme = PLAIN-MD5 password_query = SELECT username as user, password FROM mailbox WHERE username = '%u' <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Postfix.<br \/>  \/etc\/postfix\/main.cf <\/p>\n<pre><code class=\"bash\"># \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 additional_config_dir = \/etc\/postfix\/config # \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u043d\u0430 \u043d\u0430\u0448 SMTP smtpd_banner = $myhostname ESMTP Xbox # \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c biff \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f  # \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u043c \u043f\u0440\u0438\u0448\u043b\u0430 \u043f\u043e\u0447\u0442\u0430. biff = no # Appending .domain is the MUA's job. append_dot_mydomain = no # \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f readme_directory = \/usr\/share\/doc\/postfix  # TLS parameters # \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 smtpd_tls_cert_file = \/etc\/ssl\/certs\/postfix.pem # \u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043a\u043b\u044e\u0447\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 smtpd_tls_key_file = \/etc\/ssl\/private\/postfix.pem # \u0421\u043e\u043e\u0431\u0449\u0430\u0442\u044c \u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f TLS smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}\/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}\/smtp_scache  # \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u0438 (FQDN) myhostname = mail.server.com # \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043c\u0435\u043d\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0447\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435 # \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0445\u043e\u0441\u0442 mydestination = $myhostname, localhost, localhost.$mydomain, $myhostname.$mydomain # \u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 mynetworks = 127.0.0.0\/8 alias_maps = hash:\/etc\/aliases alias_database = hash:\/etc\/aliases myorigin = \/etc\/mailname mailbox_command = procmail -a &quot;$EXTENSION&quot; # \u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445. \u0415\u0441\u043b\u0438 0 - \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e mailbox_size_limit = 0 # \u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c Postfix inet_interfaces = all # \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0432 html html_directory = \/usr\/share\/doc\/postfix\/html # \u0422\u0440\u0435\u0431\u0443\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 SMTP \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u0435\u0431\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 SMTP \u0441\u0435\u0441\u0441\u0438\u0438 # \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b HELO \u0438\u043b\u0438 EHLO smtpd_helo_required = yes # \u0412\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c EHLO \u0432\u043d\u0430\u0447\u0430\u043b\u0435 SMTP \u0441\u0435\u0441\u0441\u0438\u0438 smtp_always_send_ehlo = yes # \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 SMTP \u043a\u043e\u043c\u0430\u043d\u0434\u0443 VRFY. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c # \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430. \u0414\u0430\u043d\u043d\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 (\u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b VRFY) # \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043f\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438\u043c\u0435\u043d \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432 disable_vrfy_command = yes # \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Microsoft Outlook Express 4 # \u0438 Microsoft Exchange 5, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0434\u0440\u0443\u0433\u0443\u044e \u0444\u043e\u0440\u043c\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b AUTH broken_sasl_auth_clients = yes # \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043c\u0435\u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u043e\u0432 virtual_mailbox_domains = mysql:\/etc\/postfix\/mysql\/virtual-mailbox-domains.cf # \u041a\u0430\u0440\u0442\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432 virtual_mailbox_maps = mysql:\/etc\/postfix\/mysql\/virtual-mailbox-maps.cf # \u041a\u0430\u0440\u0442\u0430 \u0430\u043b\u0438\u0430\u0441\u043e\u0432 virtual_alias_maps = mysql:\/etc\/postfix\/mysql\/virtual-alias-maps.cf # \u041a\u0430\u0440\u0442\u0430 UID-\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 virtual_uid_maps = static:5000 # \u041a\u0430\u0440\u0442\u0430 GID-\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 virtual_gid_maps = static:5000 virtual_transport = dovecot # \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 sasl \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 smtpd_sasl_auth_enable = yes # \u0422\u0438\u043f sasl \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 smtpd_sasl_type = dovecot smtpd_sasl_path = private\/auth dovecot_destination_recipient_limit = 1  # \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f smtpd_restriction_classes =                              verify_sender,                             rbl_cbl_abuseat_org,                             rbl_sbl_spamhaus_org,                             rbl_dul_ru, rbl_spamcop,                             white_client_ip,                             black_client_ip,                             block_dsl,                             helo_access,                             white_client,                             black_client,                             mx_access  # \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432: verify_sender        = reject_unverified_sender, permit  rbl_cbl_abuseat_org  = reject_rbl_client cbl.abuseat.org rbl_dul_ru           = reject_rbl_client dul.ru rbl_sbl_spamhaus_org = reject_rbl_client sbl.spamhaus.org rbl_spamcop          = reject_rbl_client bl.spamcop.net # IP \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e white_client_ip      = check_client_access pcre:$additional_config_dir\/white_client_ip # IP \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e black_client_ip      = check_client_access pcre:$additional_config_dir\/black_client_ip # E-mail, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e white_client         = check_sender_access pcre:$additional_config_dir\/white_client # E-mail, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e black_client         = check_sender_access pcre:$additional_config_dir\/black_client # \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 dsl\/\u043c\u043e\u0434\u0435\u043c\u043d\u044b\u0445 \u043f\u0443\u043b\u043e\u0432, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u044b. block_dsl            = regexp:$additional_config_dir\/block_dsl # \u0421\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 RFC 2821 helo_access          = check_helo_access pcre:$additional_config_dir\/helo_checks # \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u0430\u043d\u043e\u043d\u0430\u043c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 # \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 IP \u0434\u043b\u044f MX \u0437\u0430\u043f\u0438\u0441\u0435\u0439 mx_access            = check_sender_mx_access cidr:$additional_config_dir\/mx_access  # \u0414\u0430\u043b\u0435\u0435 restrictions  # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 (\u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430), # \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c postfix \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 smtpd_client_restrictions =                              white_client_ip,                             black_client_ip,                             white_client,                             black_client,                             helo_access,                             block_dsl,                             rbl_dul_ru,                             rbl_sbl_spamhaus_org,                             rbl_spamcop,                             rbl_cbl_abuseat_org                             # \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438                             permit_mynetworks,                             # \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439                             permit_sasl_authenticated,                             # \u0415\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0435 \u0438\u0437 mynetworks \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442                             # reject_unauth_destination. \u041e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u0438,                             # \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u043c\u0435\u043d\u0430\u043c \u043c\u0435\u0441\u0442\u0430                             # \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0434\u043e\u043c\u0435\u043d\u0430\u043c \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432 \u0432\u0430\u0448\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445                             reject_unauth_destination,                             # \u041e\u0442\u0432\u0435\u0440\u0433\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u0438\u0435\u043d\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b SMTP                             # \u0440\u0430\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0435\u0449\u0435 \u043d\u0435 \u0437\u043d\u0430\u044f, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043b\u0438 Postfix \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u0443\u044e                             # \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043a\u043e\u043c\u0430\u043d\u0434 ESMTP                             reject_unauth_pipelining,                             # \u0411\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0441 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 from, \u0434\u043e\u043c\u0435\u043d\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445                             # \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 A\/MX \u0437\u0430\u043f\u0438\u0441\u0435\u0439                             reject_unknown_address,                             # \u0411\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0447\u0442\u0443 \u043e\u0442 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0434\u043e\u043c\u0435\u043d\u043e\u0432                             reject_unknown_recipient_domain,                             # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u043e\u043c\u0435\u043d \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u0442\u0438\u043f\u0430 A \u0438 MX \u0432 DNS.                             # \u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u043c                             reject_unknown_sender_domain  # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u043c\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0441 \u043f\u043e\u0447\u0442\u044b smtpd_sender_restrictions =                              white_client,                             white_client_ip,                             black_client_ip,                             # \u041e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u044b                             reject_unknown_recipient_domain,                             reject_unknown_sender_domain,                             # \u0415\u0441\u043b\u0438 \u0438\u043c\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 FQDN \u0442\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u043c                             reject_non_fqdn_recipient,                             # \u0415\u0441\u043b\u0438 \u0438\u043c\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 FQDN - \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u043c                             reject_non_fqdn_sender,                             permit_sasl_authenticated,                             permit_mynetworks,                             mx_access,                             # \u041e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043f\u0438\u0441\u0435\u043c \u0441 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f                             reject_unlisted_sender,                             reject_unauth_destination  # \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u043e\u0447\u0442\u044b \u043d\u0430\u0448\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c smtpd_recipient_restrictions =                                 verify_sender                                white_client,                                helo_access,                                reject_unknown_recipient_domain,                                reject_unknown_sender_domain,                                reject_non_fqdn_recipient,                                reject_non_fqdn_sender,                                reject_unauth_pipelining,                                permit_sasl_authenticated,                                permit_mynetworks,                                reject_unlisted_recipient,                                reject_unknown_address,                                reject_unauth_destination,                                # \u041e\u0442\u043a\u0430\u0437 \u0432 \u043f\u0440\u0438\u0435\u043c\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c \u0441 \u043f\u0443\u0441\u0442\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f                                # \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f\u043c                                reject_multi_recipient_bounce  smtpd_data_restrictions =                            reject_unauth_pipelining,                           reject_multi_recipient_bounce,                           permit  # \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0430\u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f 5xx smtp_skip_5xx_greeting = no smtpd_reject_unlisted_sender = yes # \u041e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043f\u0438\u0441\u0435\u043c \u0441 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f smtpd_reject_unlisted_recipient = yes <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430 \/etc\/postfix\/master.cf \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">dovecot   unix  -       n       n       -       -       pipe   flags=DRhu user=vmail:vmail argv=\/usr\/lib\/dovecot\/deliver -d ${recipient} <\/code><\/pre>\n<pre><code class=\"bash\">mkdir \/etc\/postfix\/config touch \/etc\/postfix\/config\/black_client touch \/etc\/postfix\/config\/black_client_ip touch \/etc\/postfix\/config\/block_dsl touch \/etc\/postfix\/config\/helo_checks touch \/etc\/postfix\/config\/mx_access touch \/etc\/postfix\/config\/white_client touch \/etc\/postfix\/config\/white_client_ip <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/black_client:  <\/p>\n<pre><code class=\"bash\">#\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435                #\u041a\u043e\u043c\u0430\u043d\u0434\u0430      #\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 reject'\u0435 # \u041e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 \u044f\u0449\u0438\u043a\u043e\u0432 mail.ru #\/^.*\\@mail\\.ru$\/        REJECT        Your e-mail was banned! <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/black_client_ip:  <\/p>\n<pre><code class=\"bash\">#\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435                #\u041a\u043e\u043c\u0430\u043d\u0434\u0430      #\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 reject'\u0435 # \u0417\u0430\u0431\u0430\u043d\u0438\u0442\u044c IP (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 123.45.67.89) #\/123\\.45\\.67\\.89\/       REJECT        Your IP was banned! # \u0417\u0430\u0431\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u0434\u0441\u0435\u0442\u044c (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 123.45.0-255.0-255) #\/123\\.45\/               REJECT        Your IP-range was banned! # \u0417\u0430\u0431\u0430\u043d\u0438\u0442\u044c \u0434\u043e\u043c\u0435\u043d (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 xyz.ua) #\/xyz\\.ua\/               REJECT        Your Domain was banned! # \u0417\u0430\u0431\u0430\u043d\u0438\u0442\u044c \u0434\u043e\u043c\u0435\u043d (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 cc.zxc.ua) #cc\\.zxc\\.ua\/            REJECT        Your Domain was banned! <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/block_dsl:  <\/p>\n<pre><code class=\"bash\">\/^dsl.*\\..*\/i                   553 AUTO_DSL We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/.*\\.dsl\\..*\/i                  553 AUTO_DSL2 We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/[a|x]dsl.*\\..*\\..*\/i           553 AUTO_[A|X]DSL We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/client.*\\..*\\..*\/i             553 AUTO_CLIENT We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/cable.*\\..*\\..*\/i              553 AUTO_CABLE We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/pool\\..*\/i                     553 AUTO_POOL We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/.*dial(\\.|-).*\\..*\\..*\/i       553 AUTO_DIAL We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/ppp.*\\..*\/i                    553 AUTO_PPP We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/dslam.*\\..*\\..*\/i              553 AUTO_DSLAM We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/dslb.*\\..*\\..*\/i               553 AUTO_DSLB We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/node.*\\..*\\..*\/i               553 AUTO_NODE We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/.*\\.dynamicIP\\..*\/i            553 AUTO_DYNAMIC We aren't accept direct connection not from dedicated SMTP servers. Please use your internet provider SMTP Server. \/[ax]dsl.*\\..*\\..*\/i            REJECT Your message looks like SPAM 01 \/\\.dsl.*\\..*\\..*\/i              REJECT Your message looks like SPAM 02 \/cable.*\\..*\\..*\/i              REJECT Your message looks like SPAM 03 \/client.*\\..*\\..*\/i             REJECT Your message looks like SPAM 04 \/dhcp.*\\..*\\..*\/i               REJECT Your message looks like SPAM 05 \/dial.*\\..*\\..*\/i               REJECT Your message looks like SPAM 06 \/dialup.*\\..*\\..*\/i             REJECT Your message looks like SPAM 07 \/dslam.*\\..*\\..*\/i              REJECT Your message looks like SPAM 08 \/node.*\\..*\\..*\/i               REJECT Your message looks like SPAM 09 \/pool.*\\..*\\..*\/i               REJECT Your message looks like SPAM 10 \/ppp.*\\..*\\..*\/i                REJECT Your message looks like SPAM 11 \/user.*\\..*\\..*\/i               REJECT Your message looks like SPAM 12 \/[0-9]+-[0-9]+\/                 REJECT Invalid hostname (D-D) (dsl) \/(modem|dia(l|lup)|cp[ce]|dsl|p[cp]p|cable|catv|poo(l|les)|pppoe|dhcp|client|customer|user|host|[0-9]{4,})(-|_|\\.|[0-9])\/ REJECT Invalid hostname (client) <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/helo_checks:  <\/p>\n<pre><code class=\"bash\">\/^\\[?10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\]?$\/ REJECT Address in RFC 1918 private network \/^\\[?192\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\]?$\/ REJECT Address in RFC 1918 private network \/^\\[?172\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\]?$\/ REJECT Address in RFC 1918 private network \/\\d{2,}[-\\.]+\\d{2,}\/ REJECT Invalid hostname (D-D) \/^(((newm|em|gm|m)ail|yandex|rambler|hotbox|chat|rbc|subscribe|spbnit)\\.ru)$\/ REJECT Faked hostname ($1) \/^(((hotmail|mcim|newm|em)ail|post|hotbox|msn|microsoft|aol|news|compuserve|yahoo|google|earthlink|netscape)\\.(com|net))$\/ REJECT Faked hostname ($1) \/[^[] *[0-9]+((\\.|-|_)[0-9]+){3}\/ REJECT Invalid hostname (ipable) \/(modem|dia(l|lup)|cp[ce]|dsl|p[cp]p|cable|catv|poo(l|les)|pppoe|dhcp|client|customer|user|host|[0-9]{4,})(-|_|\\.|[0-9])\/ REJECT Invalid hostname (client) <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/mx_access  <\/p>\n<pre><code class=\"bash\">127.0.0.1      DUNNO  127.0.0.2      550 Domains not registered properly 0.0.0.0\/8      REJECT Domain MX in broadcast network  10.0.0.0\/8     REJECT Domain MX in RFC 1918 private network  127.0.0.0\/8    REJECT Domain MX in loopback network  169.254.0.0\/16 REJECT Domain MX in link local network  172.16.0.0\/12  REJECT Domain MX in RFC 1918 private network  192.0.2.0\/24   REJECT Domain MX in TEST-NET network  192.168.0.0\/16 REJECT Domain MX in RFC 1918 private network  224.0.0.0\/4    REJECT Domain MX in class D multicast network  240.0.0.0\/5    REJECT Domain MX in class E reserved network  248.0.0.0\/5    REJECT Domain MX in reserved network <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/white_client:  <\/p>\n<pre><code class=\"bash\"># \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0438\u0441\u044c\u043c\u0430 c \u044f\u0449\u0438\u043a\u043e\u0432 mail.ru #\/^.*\\@mail\\.ru$\/        PERMIT <\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \/etc\/postfix\/config\/white_client_ip:  <\/p>\n<pre><code class=\"bash\"># \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u0441 SMTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 91.214.209.5 #\/91\\.214\\.209\\.5\/        PERMIT <\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043b\u043e\u0433 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e\u0431\u044b \u043d\u0435\u0431\u044b\u043b\u043e \u043e\u0448\u0438\u0431\u043e\u043a:  <\/p>\n<pre><code class=\"bash\">tail -f \/var\/log\/mail.log <\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043e\u0447\u0442\u043e\u0432\u044d \u0441\u0435\u0440\u0432\u0438\u0441\u044b:  <\/p>\n<pre><code class=\"bash\">\/etc\/init.d\/dovecot restart \/etc\/init.d\/postfix restart <\/code><\/pre>\n<p>  \u00a9<br \/>  <a href=\"http:\/\/debian.asy.org.ua\/5-postfix-postfixadmin-dovecot-ssl-roundcube.html\">debian.asy.org.ua\/5-postfix-postfixadmin-dovecot-ssl-roundcube.html<\/a><br \/>  <a href=\"http:\/\/www.opensolutions.ie\/open-source\/vimbadmin\">www.opensolutions.ie\/open-source\/vimbadmin<\/a>    \t \t\t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/166487\/\"> http:\/\/habrahabr.ru\/post\/166487\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">\n<h4>ViMbAdmin<\/h4>\n<p>  <strong>ViMbAdmin<\/strong> \u043f\u0440\u043e\u0435\u043a\u0442 (<em>vim\/-be\/-admin\/<\/em>) \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445<br \/>  \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u044f\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438, \u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430\u043c\u0438. <br \/>  ViMbAdmin \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 GNU General Public License \u0432\u0435\u0440\u0441\u0438\u0438 3.<\/p>\n<p>  ViMbAdmin \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 PHP \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e web application framework, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Zend Framework, ORM Doctrina \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 Smarty \u0441 JQuery \u0438 Bootstrap.<\/p>\n<p>  ViMbAdmin \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 GitHub, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e, <br \/>  \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434. <a href=\"https:\/\/github.com\/opensolutions\/ViMbAdmin\" title=\"GitHub\">GitHub<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-166487","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/166487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=166487"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/166487\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=166487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=166487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=166487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}