どの構成が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ですか?
さらに、私はこのconfを持っています:
# 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
データベースから「virtualuser/domain/user」のようなフォルダ文字列を取得します
postfixadmin FAQ から取得
1)PostfixAdminがメールボックスを作成しないのはなぜですか?
PostfixAdminは、構成設定を保存するための唯一のWebインターフェースです。 (デフォルトでは!)ディスク上にメールフォルダを作成する機能はありません。通常の設定では、「ようこそ」メールを送信すると、このタスクが実行されます-Courier/Cyrus/etcが実行するように(そして実行する権限があります)
したがって、maildirの場所を支配するpostfixまたはdovecotを結論付けることができます...
上記のpostconf -n
の出力に基づくと、明らかにpostfix 仮想エージェント を使用してMaildirへの受信メール配信を実行しています。したがって、virtual
エージェントが受信メールの宛先メールボックスを選択する方法を学ぶ必要があります。男8仮想から撮影
メールボックスの場所は、virtual_mailbox_baseおよびvirtual_mailbox_maps構成パラメーターによって制御されます(以下を参照)。 virtual_mailbox_mapsテーブルは、以下のTABLE SEARCH ORDERで説明されているように、受信者アドレスによってインデックスが付けられます。
メールボックスのパス名は次のように構成されます。
$virtual_mailbox_base/$virtual_mailbox_maps(recipient)
ここで、receiverは完全な受信者アドレスです。
したがって、あなたの場合(/etc/postfix/virtual_mailbox_maps.cf
)、このクエリでは$virtual_mailbox_maps
が選択されます
SELECT maildir FROM mailbox WHERE username = $recipient;
$virtual_mailbox_base
とともに、メールボックスの絶対パスを作成します。
さて、問題はmaildirフィールドがどこで生成されたかです。 Postfixadminは、3つのパラメーターを使用してmaildir
フィールドを生成します。
これらのパラメータの説明は、postfixadminのconfig.inc.php
で検索できます。
したがって、virtual_mailbox_maps
にappend/ Maildirが必要な場合は、次のことができます。
select_field
の/etc/postfix/virtual_mailbox_maps.cf
を変更します。maildir_name_hook
関数を記述します。オプション1を使用する場合は、特にuserdb
パラメーターでdovecotのパラメーターも変更する必要があります。 home
フィールドまたはmail_location
フィールドを探します。
データベースから「virtualuser/domain/user」のようなフォルダ文字列を取得する場合、これらの3つのフォルダはありません。
ただし、データベースから「virtualuser/domain/user /」のようなフォルダ文字列を取得する場合は、これらの3つのフォルダはありません。