当我尝试登录我的 Dovecot IMAP 服务器时,出现此错误:
dovecot: imap(ec2-user): Error: user *theuser*: Couldn't drop privileges: Mail access for users with UID 222 not permitted
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?帮助!
我使用了一个基于 Web 的控制面板来为 Dovecot 创建一些虚拟用户。该控制面板不再工作,所以我需要手动执行此操作。
我需要为dovecot.passwd文件中列出的一个(虚拟)用户重置密码。该文件使用CRYPT架构。我如何重置那个密码?
所以问题归结为 - 可以使用什么将纯文本密码转换为CRYPT加密格式?
我正在尝试让 Postfix 通过 Dovecot 的 LMTP 发送本地邮件(其中包括用筛子替换 procmail)。到目前为止,我一直在使用mailbox_command = procmail - a "$EXTENSION",交付给本地~/Maildirs。
在http://wiki2.dovecot.org/HowTo/PostfixDovecotLMTP之后,我在/etc/dovecot/conf.d/10-master.conf
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group=postfix
user=postfix
mode=0600
}
Run Code Online (Sandbox Code Playgroud)
并添加到 /etc/postfix/main.cf
mailbox_transport = lmtp:unix:private/dovecot-lmtp
Run Code Online (Sandbox Code Playgroud)
现在,这几乎有效(Postfix 与 LMTP 套接字对话),但 LMTP 对eudoxos@mydomain.eu包含域的“用户”感到困惑:
Jan 11 08:22:17 s18015955 postfix/lmtp[7374]: 3D84E19B0290E: to=<eudoxos@mydomain.eu>, orig_to=<fristname.lastname@mydomain.eu>, relay=iota.mydomain.eu[private/dovecot-lmtp], delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (host iota.mydomain.eu[private/dovecot-lmtp] said: 550 5.1.1 <eudoxos@mydomain.eu> User doesn't exist: eudoxos@mydomain.eu (in reply to RCPT TO command))
Run Code Online (Sandbox Code Playgroud)
LMTP 应该只查找eudoxos(在 LDAP 中)而不是eudoxos@mydomain.eu …
我已经用筛网过滤配置了 dovecot(我也配置了圆形立方体,但我认为这并不重要)。
它工作正常,我已经设置了一些过滤器。但是现在我有一个巨大的未过滤的 INBOX 文件夹,我不想手动过滤它。
有什么办法可以说:“嘿,筛子!扫描指定用户的指定文件夹并对其调用一些过滤器!” ?
为两种协议启用了 Sieve 作为插件:lda 和 lmtp:
protocol lda {
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
postmaster_address = postmaster@example.com
mail_plugins = sieve
}
Run Code Online (Sandbox Code Playgroud) 我以为我成功保护了我的 Postfix/Dovecot 电子邮件服务器。我有一个来自 LetsEncrypt 的签名证书,它对我的域有效。
发送和接收工作正常,但由于 Gmail 开始标记不安全的电子邮件,所有从我的服务器发送的邮件都被标记为未加密。
Gmail 用户会看到“此邮件未加密”,如下所示:
在 Postfix 中main.cf,除其他设置外,我有:
# SASL, for SMTP authentication
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_path = private/auth
# TLS, for encryption
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem
tls_random_source = dev:/dev/urandom
smtpd_client_new_tls_session_rate_limit = 10
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_exclude_ciphers =
EXP
EDH-RSA-DES-CBC-SHA
ADH-DES-CBC-SHA
DES-CBC-SHA
SEED-SHA
smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem
smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem
disable_vrfy_command = yes
smtpd_helo_required …Run Code Online (Sandbox Code Playgroud) 由于我想在我的 SSL 证书中设置“必须装订”属性,我正在做一些研究,以确定我的所有服务是否都支持 OCSP 装订。到目前为止,我发现 Apache 可以使用 SSLLabs.com 进行确认。
但除此之外,我无法确认我的其他两个服务(SMTP 和 IMAP)是否也支持 OCSP 装订。现在我的问题是,Postfix 和 Dovecot 是否也支持它?
PS:我知道证书在邮件传输方面似乎并不重要,但我想避免任何可能的问题,如果我添加属性并且客户端可能因此拒绝工作,而其他人可能从中受益。
对于我的邮件服务器,我有一个 dovecot、postfix 和筛选设置。
我的 maildir 中有数百封邮件,最近创建了一些筛选规则来对它们进行排序。不幸的是,筛选规则设计为仅适用于传入消息。因此我的问题:
如何对现有邮件目录中的邮件运行筛选?
谢谢
- - 编辑:
谢谢 larsks
通过您提供的链接,我最终使用了:
mkdir todo
mkdir done
mv cur/* todo
for i in todo/*; do
echo "Delivering message $i ..."
/usr/lib/dovecot/deliver -d mail@example.de < $i && mv $i done/
done
Run Code Online (Sandbox Code Playgroud)
这就像我的魅力一样。我可以为我创建的每个新过滤器重新运行此脚本。
我曾尝试使用本指南为虚拟用户配置 Postfix/Dovecot 组合。
我的服务器在 CentOS 6.5 上运行 Postfix 2.6.6 和 Dovecot 2.0.9。
问题是,当我使用 Outlook 2013 连接到服务器(它在 IMAP+SMTP 上连接得很好)并向自己发送一封测试电子邮件时,我没有收到电子邮件。查看邮件日志我可以看到我收到错误
postfix/virtual[2768]: 9C3D480768: to=<user@domain.net>, relay=virtual, delay=1132, delays=1132/0.02/0/0.02, dsn=4.2.0, status=deferred (delivery failed to mailbox /var/vmail/domain.net/user: cannot open file: Is a directory)
Run Code Online (Sandbox Code Playgroud)
错误消息非常清楚,我想,好吧,这可能是我之前安装的 Cyrus/Postfix 安装的缺陷。我继续删除了 vmail 文件夹,为域创建了一个子文件夹,并将所有内容的所有权更改为 vmail:vmail。我重新启动 postfix 和 dovecot,收件箱目录再次出现。Postfix 继续像以前一样抱怨。然后我尝试删除文件夹,然后创建一个空文件,但这只会使它成为 dovecot 问题而不是后缀问题,所以现在 dovecot 说它需要一个文件而不是目录。
/etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases
alias_database = $alias_maps
inet_interfaces = …Run Code Online (Sandbox Code Playgroud) 我已经设置了 postfix、dovecot 和 roundcube。通过 roundcube 接收和发送电子邮件以及通过 imap 与另一个电子邮件客户端接收电子邮件一样有效。
但我无法使用外部电子邮件客户端发送电子邮件。一旦我连接,我就会看到:
postfix/smtpd[1258]: warning: SASL: Connect to private/auth failed: No such file or directory
postfix/smtpd[1258]: fatal: no SASL authentication mechanisms
Run Code Online (Sandbox Code Playgroud)
在邮件日志中。
这是我的 dovecot 配置:
dovecot -n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.6
mail_location = mbox:~/mail:INBOX=/var/mail/%u
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use …Run Code Online (Sandbox Code Playgroud) 我已经阅读了本网站上其他用户关于此主题的其他帖子。
我想我看到了我的问题,但不知道在哪里改变它。
我的配置:
RDNS 用于107.170.172.XXX:example.com
Postfix Dovecot 服务器
[root@skilleddomain ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 example.com
127.0.0.1 example.net
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@skilleddomain ~]# grep -v "^#" /etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = hash:/etc/postfix/mydomains
unknown_local_recipient_reject_code = 550
mynetworks = 107.170.172.XXX, 127.0.0.0/8
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination …Run Code Online (Sandbox Code Playgroud) dovecot ×10
postfix ×6
email ×3
centos ×2
email-server ×2
sieve ×2
encryption ×1
filtering ×1
gmail ×1
linux ×1
ocsp ×1
roundcube ×1
ssl ×1
thunderbird ×1
ubuntu ×1