{"id":169,"date":"2010-06-18T16:10:15","date_gmt":"2010-06-18T13:10:15","guid":{"rendered":"http:\/\/skeletor.org.ua\/wordpress\/?p=169"},"modified":"2012-12-14T18:42:05","modified_gmt":"2012-12-14T16:42:05","slug":"eximdovecotpostfixadminmysqltls","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=169","title":{"rendered":"exim+dovecot+postfixadmin+mysql+tls"},"content":{"rendered":"<p><span style=\"color: #ff0000;\"><strong>1) Postfixadmin.<\/strong><\/span><\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0442\u0435\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b\u00a0<a href=\"\/?p=853\" target=\"_blank\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0432\u00a0<strong>MySQL<\/strong> \u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432 \u044e\u0437\u0435\u0440\u0443.<\/p>\n<p><strong><!--more--><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>2) Dovecot.<\/strong><\/span><\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u0441\u0440\u0430\u0437\u0443 \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c:<\/p>\n<p><code>base_dir = \/var\/run\/dovecot\/<br \/>\nprotocols = imap imaps pop3 pop3s<br \/>\nlisten = *<br \/>\ndisable_plaintext_auth = no<br \/>\nlog_path = \/var\/log\/maillog<br \/>\nlog_timestamp = \"%b %d %H:%M:%S \"<br \/>\nsyslog_facility = mail<br \/>\nssl_cert_file = \/etc\/ssl\/smtpd.pem<br \/>\nssl_key_file = \/etc\/ssl\/smtpd.pem<br \/>\nmail_location = maildir:\/var\/mail\/exim\/%h<br \/>\nmail_privileged_group = mail<br \/>\ndotlock_use_excl = yes<br \/>\nverbose_proctitle = yes<br \/>\nfirst_valid_uid = 26<br \/>\nfirst_valid_gid = 26<br \/>\nmaildir_copy_with_hardlinks = yes<br \/>\nprotocol imap {<br \/>\nlogin_greeting_capability = no<br \/>\nimap_client_workarounds = delay-newmail outlook-idle netscape-eoh\u00a0 tb-extra-mailbox-sep<br \/>\n}<br \/>\nprotocol pop3 {<br \/>\npop3_uidl_format = %08Xu%08Xv<br \/>\npop3_client_workarounds = outlook-no-nuls oe-ns-eoh<br \/>\n}<br \/>\nprotocol lda {<br \/>\npostmaster_address = postmaster@example.com<br \/>\nauth_socket_path = \/var\/run\/dovecot\/auth-master<br \/>\n}<br \/>\nauth_default_realm = domain.tld<br \/>\nauth_username_format = %Lu<br \/>\nauth_verbose = no<br \/>\nauth_debug = no<br \/>\nauth default {<br \/>\nmechanisms = plain<br \/>\npassdb pam {<br \/>\n}<br \/>\npassdb sql {<br \/>\nargs = \/usr\/local\/etc\/dovecot-sql.conf<br \/>\n}<br \/>\nuserdb passwd {<br \/>\nargs = blocking=yes<br \/>\n}<br \/>\nuserdb sql {<br \/>\nargs = \/usr\/local\/etc\/dovecot-sql.conf<br \/>\n}<br \/>\nuser = root<br \/>\nsocket listen {<br \/>\nmaster {<br \/>\npath = \/var\/run\/dovecot\/auth-master<br \/>\nmode = 0600<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\n}<br \/>\nclient {<br \/>\npath = \/var\/run\/dovecot\/auth-client<br \/>\nmode = 0660<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\ndict {<br \/>\n}<br \/>\nplugin {<br \/>\n}<\/code><\/p>\n<p>\u0421\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b <strong>444<\/strong> \u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 <strong>root:wheel<\/strong><\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435\u00a0<strong>\/usr\/local\/etc\/dovecot-sql.conf<\/strong><\/p>\n<p><code>driver = mysql<br \/>\nconnect = host=localhost user=postfixadmin password=postfixadmin dbname=postfixadmin<br \/>\ndefault_pass_scheme = MD5<br \/>\nuser_query = SELECT maildir AS home, 26 AS uid, 26 AS gid FROM mailbox WHERE username = '%n@%d'<br \/>\npassword_query = SELECT password AS password FROM mailbox WHERE username = '%n@%d' AND active = '1'<\/code><\/p>\n<p>\u0421\u0442\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b <strong>640<\/strong> \u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 <strong>dovecot:mailnul<\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>3) exim<\/strong><\/span><\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u0432\u043d\u0435\u0441\u0451\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u00a0<strong>\/etc\/make.conf:<\/strong><\/p>\n<p><code>PORTSDIR?=\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/ports<br \/>\n.if ${.CURDIR} == ${PORTSDIR}\/mail\/exim<br \/>\nWITH_MYSQL=YES<br \/>\nWITH_TLS=YES<br \/>\nWITH_MAILDIR=YES<br \/>\nWITH_AUTH_PLAINTEXT=YES<br \/>\nWITH_AUTH_CRAM_MD5=YES<br \/>\nWITH_AUTH_LOGIN=YES<br \/>\nWITH_SA_EXIM=YES<br \/>\nWITHOUT_IPV6=YES<br \/>\nLOG_FILE_PATH?=syslog<br \/>\nWITH_CONTENT_SCAN=YES<br \/>\nWITH_DEFAULT_CHARSET?=koi8-r<br \/>\n.endif<\/code><\/p>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/p>\n<p><code>primary_hostname = srv.mail.com<br \/>\n#hide mysql_servers = localhost\/postfixadmin\/mailuser\/mailuser<br \/>\nhide mysql_servers = localhost::(\/tmp\/mysql.sock)\/postfixadmin\/mailuser\/mailuser<br \/>\ndomainlist local_domains = ${lookup mysql{SELECT `domain` \\<br \/>\nFROM `domain` WHERE \\<br \/>\n`domain`='${domain}' AND \\<br \/>\n`active`='1'}}<br \/>\ndomainlist relay_to_domains = ${lookup mysql{SELECT `domain` \\<br \/>\nFROM `domain` WHERE \\<br \/>\n`domain`='${domain}' AND \\<br \/>\n`active`='1'}}<br \/>\nhostlist\u00a0\u00a0 relay_from_hosts = localhost:127.0.0.0\/8:192.168.0.0\/16<br \/>\nacl_smtp_rcpt = acl_check_rcpt<br \/>\nacl_smtp_data = acl_check_data<br \/>\ntls_certificate = \/etc\/ssl\/smtpd.pem<br \/>\ntls_privatekey = \/etc\/ssl\/smtpd.pem<br \/>\ndaemon_smtp_ports = 25 : 465 : 587<br \/>\ntls_on_connect_ports = 465<br \/>\nqualify_domain = srv.mail.com<br \/>\nqualify_recipient = srv.mail.com<br \/>\ndisable_ipv6 = true<br \/>\nexim_user = mailnull<br \/>\nexim_group = mail<br \/>\nnever_users = root<br \/>\nrfc1413_hosts = *<br \/>\nrfc1413_query_timeout = 5s<br \/>\nsender_unqualified_hosts = +relay_from_hosts<br \/>\nrecipient_unqualified_hosts = +relay_from_hosts<br \/>\nignore_bounce_errors_after = 2d<br \/>\ntimeout_frozen_after = 7d<br \/>\nlog_selector = +all<br \/>\nsyslog_timestamp = no<br \/>\nbegin acl<br \/>\nacl_check_rcpt:<br \/>\naccept\u00a0 hosts = :<br \/>\ndeny\u00a0\u00a0\u00a0 message\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Restricted characters in address<br \/>\ndomains\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = +local_domains<br \/>\nlocal_parts\u00a0\u00a0 = ^[.] : ^.*[@%!\/|]<br \/>\ndeny\u00a0\u00a0\u00a0 message\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Restricted characters in address<br \/>\ndomains\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = !+local_domains<br \/>\nlocal_parts\u00a0\u00a0 = ^[.\/|] : ^.*[@%!] : ^.*\/\\\\.\\\\.\/<br \/>\naccept\u00a0 local_parts\u00a0\u00a0 = postmaster<br \/>\ndomains\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = +local_domain<br \/>\nrequire verify\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = sender<br \/>\naccept\u00a0 hosts\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = +relay_from_hosts<br \/>\ncontrol\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = submission<br \/>\naccept\u00a0 authenticated = *<br \/>\ncontrol\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = submission<br \/>\nrequire message = relay not permitted<br \/>\ndomains = +local_domains : +relay_to_domain<br \/>\nrequire verify = recipient<br \/>\naccept<br \/>\nacl_check_data:<br \/>\naccept<br \/>\nbegin routers<br \/>\ndnslookup:<br \/>\ndriver = dnslookup<br \/>\ndomains = ! +local_domains<br \/>\ntransport = remote_smtp<br \/>\nignore_target_hosts = 0.0.0.0 : 127.0.0.0\/8<br \/>\nno_more<br \/>\nsystem_aliases:<br \/>\ndriver = redirect<br \/>\nallow_fail<br \/>\nallow_defer<br \/>\ndata = ${lookup{$local_part}lsearch{\/etc\/aliases}}<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\nfile_transport = address_file<br \/>\npipe_transport = address_pipe<br \/>\nuserforward:<br \/>\ndriver = redirect<br \/>\ncheck_local_user<br \/>\nfile = $home\/.forward<br \/>\nno_verify<br \/>\nno_expn<br \/>\ncheck_ancestor<br \/>\nfile_transport = address_file<br \/>\npipe_transport = address_pipe<br \/>\nreply_transport = address_reply<br \/>\ncondition = ${if exists{$home\/.forward} {yes} {no} }<br \/>\ndovecot_user:<br \/>\ndriver = accept<br \/>\ncondition = ${lookup mysql{SELECT `goto` FROM \\<br \/>\n`alias` WHERE \\<br \/>\n`address`='${quote_mysql:$local_part@$domain}' OR \\<br \/>\n`address`='${quote_mysql:@$domain}'}{yes}{no}}<br \/>\ntransport = dovecot_delivery<br \/>\nbegin transports<br \/>\nremote_smtp:<br \/>\ndriver = smtp<br \/>\ndovecot_delivery:<br \/>\ndriver = pipe<br \/>\ncommand = \/usr\/local\/libexec\/dovecot\/deliver -d $local_part@$domain<br \/>\nmessage_prefix =<br \/>\nmessage_suffix =<br \/>\ndelivery_date_add<br \/>\nenvelope_to_add<br \/>\nreturn_path_add<br \/>\nlog_output<br \/>\nuser = mailnull<br \/>\naddress_pipe:<br \/>\ndriver = pipe<br \/>\nreturn_output<br \/>\naddress_file:<br \/>\ndriver = appendfile<br \/>\ndelivery_date_add<br \/>\nenvelope_to_add<br \/>\nreturn_path_add<br \/>\naddress_reply:<br \/>\ndriver = autoreply<br \/>\nbegin retry<br \/>\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 F,2h,15m; G,16h,1h,1.5; F,4d,6h<br \/>\nbegin rewrite<br \/>\nbegin authenticators<br \/>\nauth_plain:<br \/>\ndriver = dovecot<br \/>\npublic_name = PLAIN<br \/>\nserver_socket = \/var\/run\/dovecot\/auth-client<br \/>\nserver_set_id = $auth1<br \/>\nauth_login:<br \/>\ndriver = dovecot<br \/>\npublic_name = LOGIN<br \/>\nserver_socket = \/var\/run\/dovecot\/auth-client<br \/>\nserver_set_id = $auth1<\/code><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a \u043e\u0431 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 <strong>CRAM_MD5<\/strong>.<\/p>\n<p><span style=\"color: #993366;\"><em> \u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c cram_md5 \u043e\u043f\u0438\u0441\u0430\u043d \u0432 RFC2195. \u0421\u0435\u0440\u0432\u0435\u0440 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u044b\u0437\u043e\u0432\u0430, \u0438 \u043e\u0442\u0432\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 CRAM-MD5 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0437\u043e\u0432\u0430, \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 (\u043f\u0430\u0440\u043e\u043b\u0435\u043c), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043e\u0431\u043e\u0438\u043c, \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0443. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0435\u0442\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c, \u0447\u0435\u043c \u201cplaintext\u201d. \u041e\u0434\u043d\u0430\u043a\u043e, \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 &#8211; \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0441 \u043e\u0431\u043e\u0438\u0445 \u0441\u0442\u0440\u043e\u043d.<\/em><\/span><\/p>\n<p>\u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0435\u0441\u0442\u044c 2 \u043f\u0443\u0442\u0438: \u043b\u0438\u0431\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u00a0<strong>CRAM-MD5<\/strong>, \u043b\u0438\u0431\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0431\u0430\u0437\u0443 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e \u043f\u043e\u043b\u0435 \u0411\u0414, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u0430\u0440\u043e\u043b\u044c \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435. \u042f \u0432\u044b\u0431\u0435\u0440\u0443 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0438\u0431\u043e \u043c\u043d\u0435 \u043a\u0430\u043a \u0430\u0434\u043c\u0438\u043d\u0443, \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438 \u044e\u0437\u0435\u0440\u043e\u0432 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 (\u043c\u0430\u043b\u043e \u043b\u0438, \u043a\u0442\u043e-\u0442\u043e \u0437\u0430\u0431\u044b\u043b). \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0438\u0442\u0430\u0435\u043c\u00a0<a href=\"\/?p=853\" target=\"_blank\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0430\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e\u00a0<strong>CRAM-MD5<\/strong>:<\/p>\n<p><code>auth_cram_md5:<br \/>\ndriver = cram_md5<br \/>\npublic_name = CRAM-MD5<br \/>\nserver_secret = ${lookup mysql{SELECT `pw_clear` FROM \\<br \/>\n`mailbox` WHERE `username` \\<br \/>\n= '${quote_mysql:$auth1}'}{$value}fail}<br \/>\nserver_set_id = $auth2<\/code><\/p>\n<p><span style=\"color: #ff0000;\"><strong>4)\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0448\u0442\u0440\u0438\u0445\u0438<\/strong>.<\/span><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u00a0<strong>\/etc\/rc.conf<\/strong> \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 :<\/p>\n<p><code>sendmail_enable=\"NONE\"<br \/>\nexim_enable=\"YES\"<br \/>\ndovecot_enable=\"YES\"<br \/>\n<\/code><br \/>\n\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b\u00a0<strong>\/etc\/mail\/mailer.conf<\/strong>:<\/p>\n<p><code>sendmail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim<br \/>\nsend-mail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim<br \/>\nmailq\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim -bp<br \/>\nnewaliases\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim -bi<br \/>\nhoststat\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim<br \/>\npurgestat\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/exim<\/code><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0444\u0430\u0439\u043b\u0430 \u043b\u043e\u0433\u043e\u0432\u00a0<strong>\/var\/log\/maillog<\/strong> \u043d\u0430\u00a0<strong>mailnull<\/strong> \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c<strong> dovecot<\/strong>,\u00a0<strong>exim<\/strong>:<\/p>\n<p><code>#\/usr\/local\/etc\/rc.d\/dovecot start<br \/>\n#\/usr\/local\/etc\/rc.d\/exim start<br \/>\n<\/code><br \/>\n<span style=\"color: #ff0000;\"><strong>5)<\/strong> \u0417\u0430\u0432\u043e\u0434\u0438\u043c \u044e\u0437\u0435\u0440\u043e\u0432 \u0447\u0435\u0440\u0435\u0437\u00a0<strong>postfixadmin<\/strong><\/span> \u0438 \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e:<\/p>\n<p><code>dovecot: Jun 01 15:19:26 Info: imap-login: Login: user=, method=PLAIN, rip=192.168.5.2, lip=192.168.5.129, TLS<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[3050]: [3050] SMTP connection from [192.168.5.2]:2561 I=[192.168.5.129]:25 (TCP\/IP connection count = 1)<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11331]: [11331] 1MB9J1-0002wl-5n \"user@test.ru\" from env-from rewritten as \"\"user@test.ru\"@srv.mail.com\" by submission mode<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11331]: [11331] 1MB9J1-0002wl-5n &lt;= \"user@test.ru\"@srv.mail.com H=([192.168.5.2]) [192.168.5.2]:2561 I=[192.168.5.129]:25 P=esmtpa A=auth_plain:user@test.ru S=561 id=4A23D6CC.6030806@test.ru T=\"dsadas\" from for user@test.ru<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11331]: [11331] SMTP connection from ([192.168.5.2]) [192.168.5.2]:2561 I=[192.168.5.129]:25 closed by QUIT<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11337]: [11337] cwd=\/var\/spool\/exim 3 args: \/usr\/local\/sbin\/exim -Mc 1MB9J1-0002wl-5n<br \/>\ndeliver(user@test.ru): Jun 01 15:20:07 Info: msgid=&lt;4A23D6CC.6030806@test.ru&gt;: saved mail to INBOX<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11337]: [11337] 1MB9J1-0002wl-5n =&gt; user F=&lt;\"user@test.ru\"@srv.mail.com&gt; P=&lt;\"user@test.ru\"@srv.mail.com&gt; R=dovecot_user T=dovecot_delivery S=677 QT=0s DT=0s<br \/>\nJun\u00a0 1 15:20:07\u00a0 exim[11337]: [11337] 1MB9J1-0002wl-5n Completed QT=0s<br \/>\n<\/code><br \/>\n\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1) Postfixadmin. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0442\u0435\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u044b\u00a0\u0437\u0434\u0435\u0441\u044c. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0432\u00a0MySQL \u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432 \u044e\u0437\u0435\u0440\u0443.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,11],"tags":[],"class_list":["post-169","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-mail"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=169"}],"version-history":[{"count":5,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions"}],"predecessor-version":[{"id":1436,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions\/1436"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}