URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94962
[ Назад ]

Исходное сообщение
"Postfix не подхватывает dovecot"

Отправлено nejtr0n , 29-Авг-13 16:41 
Добрый день. Помогите пожалуйста разобраться с проблемой.
OS Centos. Стоит связка Postfix+dovecot+sasl+mysql.
При старте сервисов в логах ошибок нет.

[root@host conf.d]# telnet localhost pop3
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.

[root@host conf.d]# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 *******.ru ESMTP Postfix
ehlo localhost
250-******.ru
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN


[root@host conf.d]# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user info@*******.ru
+OK
pass password
+OK Logged in.

[root@host conf.d]# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user info@*****.ru
+OK
pass password
+OK Logged in.
list
+OK 0 messages:
.

Почта через сервер отправляется, но не принимается. Вернее принимается, но в /var/mail, а не в виртуальную среду /home/vmail/domain/user.

[Postfix cfg]

[root@nejtr0n dovecot]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 30720000
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_transport = dovecot
virtual_uid_maps = static:5000

[Dovecot config]

[root@nejtr0n dovecot]# dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-042stab076.8 x86_64 CentOS release 6.4 (Final) simfs
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_gid = vmail
mail_location = maildir:/home/vmail/%d/%n/Maildir
mail_uid = vmail
mbox_write_locks = fcntl
namespace {
  inbox = yes
  location =
  prefix = INBOX.
  separator = .
  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-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service imap-login {
  inet_listener imap {
    port = 143
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
}
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
  driver = passwd
}
userdb {
  args = uid=5000 gid=5000 home=/home/vmail/%d/%n
  driver = static
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  log_path = /home/vmail/dovecot-deliver.log
  mail_plugins = sieve
  postmaster_address = nejtr0n@nejtr0n.ru
}

Понимаю, что затупаю где то...Но третий день никак разобраться не могу. С теми же настройками под Debian все работает. При отправке сообщения в логах:

[root@nejtr0n conf.d]# mailx info@*****.ru
Subject: asdasda
EOT
Null message body; hope that's ok

[root@nejtr0n conf.d]# tail /var/maillog
Aug 29 08:31:09 nejtr0n postfix/pickup[3367]: D4359CA3DDC: uid=0 from=<root>
Aug 29 08:31:09 nejtr0n postfix/cleanup[3493]: D4359CA3DDC: message-id=<20130829123109.D4359CA3DDC@nejtr0n.ru>
Aug 29 08:31:09 nejtr0n postfix/qmgr[3368]: D4359CA3DDC: from=<root@host.ru>, size=421, nrcpt=1 (queue active)
Aug 29 08:31:09 nejtr0n postfix/local[3499]: D4359CA3DDC: to=<root@host.ru>, orig_to=<info@host.ru>, relay=local, delay=0.2, delays=0.12/0.07/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Aug 29 08:31:09 nejtr0n postfix/qmgr[3368]: D4359CA3DDC: removed
You have new mail in /var/spool/mail/root

То есть relay=local, а не dovecot.
Помогите пожалуйста разобраться!


Содержание

Сообщения в этом обсуждении
"Postfix не подхватывает dovecot"
Отправлено jaged , 29-Авг-13 17:00 
> Добрый день. Помогите пожалуйста разобраться с проблемой.
> OS Centos. Стоит связка Postfix+dovecot+sasl+mysql.
> При старте сервисов в логах ошибок нет.
> То есть relay=local, а не dovecot.
> Помогите пожалуйста разобраться!

я не супер спец но недавно как раз занимался таким же головником,  лог довекота выложите включив предварительно дебагеры.

mail_debug = yes
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes


"Postfix не подхватывает dovecot"
Отправлено nejtr0n , 29-Авг-13 17:12 
>[оверквотинг удален]
>> OS Centos. Стоит связка Postfix+dovecot+sasl+mysql.
>> При старте сервисов в логах ошибок нет.
>> То есть relay=local, а не dovecot.
>> Помогите пожалуйста разобраться!
> я не супер спец но недавно как раз занимался таким же головником,
>  лог довекота выложите включив предварительно дебагеры.
> mail_debug = yes
> auth_verbose = yes
> auth_debug = yes
> auth_debug_passwords = yes

Как всегда - стоит только попросить о помощи, проблема сразу решается!=)
В общем проблема была в том, что домен был прописан в /etc/hosts, а не в mysql.
Соответственно и доставлял он через local, а не через dovecot.
/etc/postfix/main.cf
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
заменяем на
mydestination = localhost.$mydomain, localhost, $mydomain
А в таблицу добавляем свой домен. В итоге все заработало.
Спасибо за быстрый отклик)