Я пытался понять, какая конфигурация сообщает, где создаются cur, tmp и new. Конечно, я использую виртуального пользователя, и я получаю и отправляю письма в virtualuser/domain/user/Maildir/new
и virtualuser/Maildir/cur
(Думаю virtualuser/domain/user/Maildir/tmp
очень временно и никогда не получаю и не пишу по электронной почте), но когда я создаю новый почтовый ящик с помощью Postfixadmin, он создается таким образом
virtualuser/domain/user/tmp
virtualuser/domain/user/new
virtualuser/domain/user/cur
тогда мне просто нужно переместить это дерево папок внутрь
virtualuser/domain/user/Maildir (this is how i would I would like to be created) so I would have:
virtualuser/domain/user/Maildir/cur
virtualuser/domain/user/Maildir/tmp
virtualuser/domain/user/Maildir/new
Итак, в каком файле конфигурации есть этот параметр? Postfix, Dovecot или Postfixadmin?
Вдобавок у меня есть вот такой конф:
# Postfix:
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
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
local_recipient_maps = $virtual_mailbox_maps
local_transport = dovecot
mail_owner = postfix
mailbox_command = /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mynetworks_style = host
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
relay_domains = $mydestination
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = mysql:/etc/postfix/virtual_alias_maps.cf
virtual_mailbox_base = /home/virtualuser
virtual_mailbox_domains = mysql:/etc/postfix/virtual_mailbox_domains.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = mysql:/etc/postfix/virtual_mailbox_maps.cf
virtual_transport = virtual
Dovecot:
mail_home =
mail_location = maildir:~/Maildir
И в /etc/postfix/virtual_mailbox_maps.cf есть:
...
table = mailbox
select_field = maildir
where_field = username
и получить из базы данных строку папки вроде "виртуальный пользователь / домен / пользователь"
Взято из postfixadmin FAQ
1) Почему PostfixAdmin не создает мой почтовый ящик?
PostfixAdmin - это всего лишь веб-интерфейс для хранения настроек конфигурации. У него нет (по умолчанию!) Возможности создавать почтовые папки на диске. При нормальной настройке отправка электронного письма с приветствием выполняет эту задачу - как это делают Courier / Cyrus / и т. Д. (И имеют на это разрешение)
Итак, можно сделать вывод, что постфиксы или голубятни, которые управляют местонахождением вашего мейлдира ...
На основе вывода postconf -n
выше, очевидно, вы используете postfix виртуальный агент для доставки входящей электронной почты в Maildir. Итак, нам нужно узнать, как virtual
агент выбирает почтовый ящик назначения для входящей электронной почты. Взято из man 8 virtual
Расположение почтового ящика контролируется параметрами конфигурации virtual_mailbox_base и virtual_mailbox_maps (см. Ниже). Таблица virtual_mailbox_maps индексируется адресом получателя, как описано в разделе ПОИСК ПО ТАБЛИЦЕ ниже.
Путь к почтовому ящику строится следующим образом:
$virtual_mailbox_base/$virtual_mailbox_maps(recipient)
где получатель - это полный адрес получателя.
Итак, в вашем случае (/etc/postfix/virtual_mailbox_maps.cf
), $virtual_mailbox_maps
будет выбран с помощью этого запроса
SELECT maildir FROM mailbox WHERE username = $recipient;
Вместе с $virtual_mailbox_base
, они создают абсолютный путь к почтовому ящику.
Теперь вопрос в том, где генерируется поле maildir? Postfixadmin использует 3 параметра для создания maildir
поле
Вы можете найти объяснение этих параметров в config.inc.php
постфиксадмина.
Итак, если вам нужно добавить / Maildir в virtual_mailbox_maps
, тогда ты можешь
select_field
из /etc/postfix/virtual_mailbox_maps.cf
.maildir_name_hook
функция в postfixadmin.Если вы планируете использовать вариант 1, вам также необходимо изменить параметр dovecot, особенно в userdb
параметр. Искать home
поле или mail_location
поле.
если вы получаете из базы данных строку типа "виртуальный пользователь / домен / пользователь", у вас не должно быть этих трех папок.
Но если вы получаете из базы данных строку типа «виртуальный пользователь / домен / пользователь /», у вас не должно быть этих трех папок.