我的邮件客户端在 中查找新电子邮件 /var/spool/mail/vmail/trest/Maildir
,因此我将邮件存储位置更改为此处。尽管如此,电子邮件还是来到了$HOME/var/spool/mail/vmail/trest/Maildir
。如何更改路径/var/spool...
?或者怎么说邮件客户端要查一下$HOME/...
?
我的配置
$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
home_mailbox = /var/spool/mail/vmail/trest/Maildir/
inet_interfaces = all
inet_protocols = all
mail_spool_directory = ~/Maildir
mailbox_command =
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = hkunst.com
myhostname = hkunst.com
mynetworks = 10.10.0.0/24, 127.0.0.0/8
mynetworks_style = hkunst.com
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter =
relayhost =
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/hkunst.com.crt.pem
smtpd_tls_key_file = /etc/ssl/private/hkunst.com.key.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
virtual_mailbox_base = /
virtual_transport = dovecot
和
$ dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.4
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login
auth_username_format = %Ln
auth_verbose = yes
auth_verbose_passwords = plain
mail_privileged_group = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = create
special_use = \Drafts
}
mailbox Junk {
auto = create
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
auto = create
special_use = \Sent
}
mailbox Spam {
auto = create
special_use = \Junk
}
mailbox Trash {
auto = create
special_use = \Trash
}
mailbox virtual/All {
auto = no
special_use = \All
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
passdb {
args = username_format=%u scheme=ssha512 /etc/dovecot/passwd.db
driver = passwd-file
}
plugin {
sieve = ~/.dovecot.sieve
sieve_after = /var/mail/vmail/sieve-after
sieve_before = /var/mail/vmail/sieve-before
sieve_dir = ~/sieve
}
protocols = imap lmtp
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl_cert = </etc/ssl/certs/hkunst.com.crt.pem
ssl_cipher_list = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5:!DSS
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = </etc/ssl/private/hkunst.com.key.pem
ssl_protocols = !SSLv2 !SSLv3
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
userdb {
args = uid=5000 gid=5000 home=/var/mail/vmail/%d/%n
driver = static
}
protocol lda {
deliver_log_format = msgid=%m: %$
mail_plugins = sieve
postmaster_address = [email protected]
quota_full_tempfail = yes
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
mail_max_userip_connections = 80
mail_plugins =
}
protocol pop3 {
mail_max_userip_connections = 80
mail_plugins =
}
答案1
我认为你的virtual_mailbox_base = /
和home_mailbox = /var/spool/mail/vmail/trest/Maildir/
都是错误的。你可以阅读这里:
home_mailbox (默认值:空) 邮箱文件的可选路径名 相对于本地(8) 用户的主目录。
您没有本地用户,而是“虚拟用户”,因此不要使用home_mailbox
.
我通常只使用:
mydomain = domain.eu
,virtual_mailbox_domains = domain.eu
virtual_mailbox_base = /var/mail/
,virtual_mailbox_domains = domain.eu
&virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
然后我创建一个文件夹/var/mail/domain.eu
并在其中定义“虚拟用户”及其各自的邮箱(相对于virtual_mailbox_base
)/etc/postfix/virtual_mailboxes
:
[email protected] domain.eu/info/
然后我使用命令postmap /etc/postfix/virtual_mailboxes
重新创建数据库/etc/postfix/virtual_mailboxes.db
。
因此,当电子邮件[email protected]
到达时,它将被存储在/var/mail/domain.eu/info
.