Назад | Перейти на главную страницу

Кто говорит, где создаются cur, new и tmp с помощью Postfixadmin с Maildir

Я пытался понять, какая конфигурация сообщает, где создаются 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 поле

  • $ CONF ['путь_домена']
  • $ CONF ['domain_in_mailbox']
  • $ CONF ['maildir_name_hook']

Вы можете найти объяснение этих параметров в config.inc.php постфиксадмина.


Итак, если вам нужно добавить / Maildir в virtual_mailbox_maps, тогда ты можешь

  1. Изменить select_field из /etc/postfix/virtual_mailbox_maps.cf.
  2. Пиши свой maildir_name_hook функция в postfixadmin.

Если вы планируете использовать вариант 1, вам также необходимо изменить параметр dovecot, особенно в userdb параметр. Искать home поле или mail_location поле.

если вы получаете из базы данных строку типа "виртуальный пользователь / домен / пользователь", у вас не должно быть этих трех папок.

Но если вы получаете из базы данных строку типа «виртуальный пользователь / домен / пользователь /», у вас не должно быть этих трех папок.