Вы бы для определенности (а то приходится слишком много гадать о структуре Вашей БД) дали бы ссылку, откуда копируете конфигурацию... Почему maildir вытаскиваете? Вам нужно не maildir вытащить, а найти и вытащить имя (ddd в Вашем случае).
Где брал начальный конфиг-там уже нет (закрыт сайт за неоплату).
По поводу структуры:
таблица mailbox, содержит в себе:
| username | password | name | maildir | quota | local_part | domain | created | modified | active |
| | | | | | | | | | |
|ddd@domen.ru|тут хэш |Name |ddd@@domen.ru/| 0 | ddd | domen.ru| дата | дата | 1 |
Как я понимаю последовательность требуемых действий:
Постфикс получает в строке с названием %s адрес получателя. Он може быть либо ddd, либо ddd@domen.ru.
Далее ему необходимо понять куда эту почту положит на диске-название директории относительно хранилища почтовых ящиков (virtual_mailbox_base).
Для этого он делает запрос к базе postfix в следующем виде
SELECT maildir FROM mailbox WHERE username='%s' AND active='1'
т.е. в ответ на запрос он должен получить ddd@domen.ru/, чтобы в итоге положить письмо по пути /var/mail/vmail/ddd@domen.ru/ в папку для входящих.
Пользователь решил продолжить мысль 04 Октября 2012, 10:14:36:
Так вот, раскурил таки тему.
Пользователь решил продолжить мысль 04 Октября 2012, 10:39:40:
1. В Конфиге main.cf postfix-а ошибка закралась тут:
virtual_mailbox_base = /var/mail/vmail
Правильный вариант
virtual_mailbox_base = /var/mail/vmail/
т.е. на конце / обязателен т.к. в итоге получалось у него /var/mail/vmailddd@domen.ru/,а не /var/mail/vmail/ddd@domen.ru/.
Это первый косяк.
2. В конфиге master.cf (я его почему-то забыл привести в первом посте) должна быть строчка написана так:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${recipient} -d ${user}@${nexthop} -m ${extension}
а была написана так
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${recipient} -d ${user}@${nexthop} -n -m ${extension}.
Самое интересное, что постификс и довкотнихрена не ругались на то, что параметр "-n" не должен там быть и ему не нравится это в работе.
конфиг у меня сейчас такой и работает:
smtp inet n - n - - smtpd
-o smtpd_delay_reject=yes -o smtpd_data_restrictions=reject_unauth_pipelining -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${recipient} -d ${user}@${nexthop} -m ${extension}
pickup fifo n - - 60 1 pickup
-o receive_override_options=no_header_body_checks
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
smtp-amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=12000 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20
127.0.0.1:10025 inet n - - - - smtpd
-o smtpd_delay_reject=no
-o smtpd_data_restrictions=reject_unauth_pipelining
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
3. И третий косяк был с правами доступа на файды-папки в /run/dovecot/=auth-userdb.
Не хватало ему флажков.
Выяснил достаточно просто - в запрос sql на определение maildir в соответствие username поставил ddd@domen.ru.
И посыпались только тогда ошибки в логи.
Пока так.
Допишу еще, если что-то обнаружу