Подскажите где грабли, никак разобраться не могу. Ситуация в чём. Мне надо получать и отправлять почту виртуальных и локальных пользователей. Пока хотелось бы только для одного доменного имени, а в перспективе для нескольких. Что поставил: postfix, dovecot, mysql, postfixadmin, roundcube. По одной из хаутушек настроил всё. Почта для виртуальных пользователей приходит/отправляется, для локальных - нет. В логе dovecot'а видно, что он пытается найти пользователя в virtual_alias_maps, т.е. в таблице postfixadmin'a.
Код: Выделить всё
Jul 09 22:02:08 auth-worker(default): Info: sql(root@domain.net): SELECT maildir, 65534 AS uid, 65534 AS gid FROM mailbox WHERE username = 'root@domain.net'
Jul 09 22:02:08 auth-worker(default): Info: sql(root@domain.net): Unknown user
Jul 09 22:02:08 auth(default): Info: master out: NOTFOUND 1
Ещё я читал, что dovecot не может принимать почту в разные типы почтовых ящиков: т.е. либо mailbox, либо maildir.
Итого: как сконфигурить, чтобы почта приходила/уходила у всех пользователей?
з.ы. В голове каша, мыло не работает толком. Постоянно с вопросами обращаться не будешь, так что было бы здорово, если кто-то посоветовал бы какую нибудь книжку про постфикс (если есть такая), так как чтение тех. документации пока своих плодов не приносит. Мне пока банально, читая документацию, сложно до конца осознать структуру и понять как это работает.
Ну и конфиги традиционно:
main.cf
Код: Выделить всё
mailbox_size_limit = 102400000
message_size_limit = 10240000
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
default_privs = nobody
inet_interfaces = all
myhostname = mail.domain.net
mydomain = domain.net
myorigin = $mydomain
mydestination = localhost.$mydomain, localhost, $myhostname
mynetworks_style = host
mynetworks = 127.0.0.0/8
relay_domains = $mydestination $transport_maps
local_recipient_maps = $alias_maps
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
mail_spool_directory = /var/mail
mailbox_command = /usr/local/libexec/dovecot/deliver
mailbox_transport = dovecot
smtpd_banner = $myhostname ESMTP $mail_name
local_destination_concurrency_limit = 2
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = /usr/local/share/doc/postfix
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = /usr/local/share/doc/postfix
virtual_mailbox_base = /usr/mail/
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
smtpd_sender_login_maps=mysql:/usr/local/etc/postfix/mysql_virtual_sender_login.cf
virtual_minimum_uid = 65534
virtual_uid_maps = static:65534
virtual_gid_maps = static:65534
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sasl_authenticated_header=yes
smtpd_recipient_restrictions = permit_mynetworks reject_non_fqdn_recipient permit_sasl_authenticated reject_unauth_destination
smtpd_sender_restrictions= permit_mynetworks reject_non_fqdn_sender reject_unknownКод: Выделить всё
base_dir = /var/run/dovecot/
protocols = imap pop3 #imaps pop3s managesieve
listen = *
disable_plaintext_auth = no
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot_inf.log
log_timestamp = "%b %d %H:%M:%S "
ssl = no
mail_location = maildir:/usr/mail/%d/%n
mail_privileged_group = mail
mail_debug = yes
mail_log_prefix = "%Us(%u): "
mail_log_max_lines_per_sec = 10
dotlock_use_excl = yes
verbose_proctitle = yes
first_valid_gid = 65534
last_valid_gid = 65534
first_valid_uid = 65534
last_valid_uid = 65534
maildir_copy_with_hardlinks = yes
protocol imap {
# login_greeting_capability = yes
imap_client_workarounds = delay-newmail netscape-eoh tb-extra-mailbox-sep
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
postmaster_address = admin@domain.net
sendmail_path = /usr/sbin/sendmail
}
auth_username_format = %Lu
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth default {
mechanisms = plain login cram-md5 digest-md5
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
dict {
#quota = mysql:/usr/local/etc/dovecot-dict-quota.conf
#expire = db:/var/db/dovecot/expire.db
}
plugin {
quota = maildir:User quota
quota_rule = *:storage=20MB
quota_rule2 = Trash:storage=20MB
quota_rule3 = Spam:storage=10MB
trash = /usr/local/etc/dovecot-trash.conf
expire = Trash 7 Spam 30
}
