Постфикс + Голубятня - не получение почты в vmail каталоге

я проводил бесчисленные часы на это, и теперь я полагал, что идентификатор прибывает в 'Интернет' для справки.

Я установил новую установку постфикса + голубятня + mysql.

Прямо сейчас я могу получить электронное письмо от своего отображенного, считают 'sean@domain.com', но по некоторым причинам все сообщения вставляются в/var/mail/sean

ожидаемое местоположение:/var/vmail/domain.com/sean

плохо перечислите основные части кода, я раньше получал эту работу.

постфикс master.cf

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}

постфикс main.cf

virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

10-mail.conf голубятня

mail_location = maildir:/var/vmail/%d/%n
mail_uid = vmail
mail_gid = mail
first_valid_uid = 150
last_valid_uid = 150

10-auth.conf голубятня

disable_plaintext_auth = yes
!include auth-sql.conf.ext

Автор-sql.conf.ext голубятни

passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}

Голубятня-sql.conf.ext голубятни

driver = mysql
connect = host=localhost dbname=mail user=mail password=P@ssw0rd
default_pass_scheme = MD5-CRYPT

password_query = \
SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, \
'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid \
FROM mailbox WHERE username = '%u' AND active = '1'

user_query = \
SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, \
150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota \
FROM mailbox WHERE username = '%u' AND active = '1'

И это в значительной степени делает это для части конфигурации того, что я пытаюсь сделать.

Какие-либо идеи того, что я делаю неправильно? {Я должен быть лысым к этому времени завтра :)}

1
задан 29 September 2012 в 17:38

4 ответа

У меня также была эта проблема, и мне потребовалось некоторое время, чтобы разобраться. Если у кого-то есть такая проблема, стоит проверить /var/log/mail.log на наличие ошибок вроде:

postfix/trivial-rewrite[2149]: warning: do not list domain localdomain.co.uk in BOTH mydestination and virtual_mailbox_domains

Я только что удалил localdomain.co.uk mydestination = line в файле /etc/postfix/main.cf. Похоже, это решило проблему.

0
ответ дан 29 September 2012 в 17:38

была та же проблема. после недели ночей обнаружил, что вам может понадобиться создать папку INBOX в /home/username/mail/.imap/INBOX.

Это помогло мне.

Система - roundcube / dovecot / postfix / mysql / centos 6.4 Надеюсь, я смогу сэкономить некоторые здравомыслия !!

Пол.

0
ответ дан 29 September 2012 в 17:38

Я полагаю, вы путаете две категории пользователей. Есть системные пользователи и виртуальные пользователи.

Если вы пытаетесь использовать systemuser, вам просто нужно добавить эту строку:

mailbox_command = /usr/local/libexec/dovecot/deliver
#  or
mailbox_command = /usr/libexec/dovecot/deliver
#  or
mailbox_command = /usr/lib/dovecot/deliver
#  or wherever it was installed in your system.

Если вы пытаетесь использовать виртуальные пользователи, вы должны настроить их также и на postfix.

Примерно так: obs: Я постараюсь использовать ваши mysql confs, но не буду, если я все сделаю правильно.

/etc/postfix/virtual-address-mysql.cf

Содержание:

user=mail
password=P@ssw0rd
dbname=mail
hosts=localhost
query=select username as address from mailbox where active = '1' and username = '%s';

Послушайте, я могу что-то упустить в вашем запросе.

Теперь postfix может знать вашего виртуального пользователя.

Необходимо отобразить его сейчас.

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_mailbox_maps $virtual_mailbox_domains
virtual_mailbox_maps =  proxy:mysql:/etc/postfix/virtual-address-mysql.cf

Я бы пошел к виртуальным пользователям, лучше управлять БД, чем системным пользователям.

Вы также можете использовать виртуальные домены и виртуальные псевдонимы

Та же логика и конф похож на это:

virtual_mailbox_domains = proxy:mysql:/etc/postfix/vdomains.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/virtual-alias.cf

Я думаю, что это. Если вам нужна дополнительная помощь, я думаю, вы можете найти в

Dovecot Wiki

0
ответ дан 29 September 2012 в 17:38

Проблема в вашем файле «virtual_mailbox_map.cnf» (может иметь другое имя), это должно быть что-то вроде этого

hosts = 127.0.0.1
user = postfix
password = password
dbname = postfix
query = SELECT CONCAT(domain, '/', maildir) FROM mailbox WHERE username='%s' AND active = 1

Исправление в запросе, потому что во всех руководствах, которые я видел, они используют что-то вроде это

query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
0
ответ дан 29 September 2012 в 17:38

Другие вопросы по тегам:

Похожие вопросы: