Dovecot 设置的 IMAP 邮箱没有 SENT 文件夹或 TRASH 文件夹。我如何设置这些?有没有办法将它们放在 INBOX hiearchy 之外?我想确保这些文件夹适用于 iPhone 电子邮件客户端或任何其他移动电子邮件客户端。
我已经尝试设置 Postfix 和 Dovecot 好几天了,我想我已经解决了所有问题,除了刚刚出现的问题。当我尝试重新启动 Dovecot 时,我收到以下错误消息:
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: ssl enabled, but
ssl_cert not set
[....] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration
file /etc/dovecot/dovecot.conf: ssl enabled, but ssl_cert not set
Run Code Online (Sandbox Code Playgroud)
当我检查 dovecot.conf 时,没有任何关于 ssl 的内容,所以我假设错误是引用了10-ssl.conf. 我注意到设置被注释掉了:
# ssl = no
# ssl_cert = </etc/ssl/dovecot.pem
# ssl_key = </etc/ssl/private/dovecot.pem
Run Code Online (Sandbox Code Playgroud)
我知道这些之前已取消注释,但如果我现在取消注释,我会在启动时收到一个不同的错误,关于 10-ssl.conf 中的意外值 ssl。从 Dovecot wiki 中,即使该值被其他地方的特定协议覆盖,也必须设置该值。
如果我将 ssl 值注释掉,我会收到关于 ssl 已启用但未设置的第一条错误消息。
早些时候,我使用 OpenSSL 创建了一个自签名证书,但没有收到任何有关未配置 ssl 的错误消息。事实上,我能够从另一台客户端机器登录到 pops,它给出了关于证书不受信任的通常警告。但是,我确实注意到证书引用了不正确的主机名,这是在我重建 VPS 并愚蠢地安装和配置 Dovecot 并设置了错误的主机名后引起的。 …
我运行 Monit 来检查 Debian 服务器上的进程。它对所有其他服务(Apache SSL、Postfix、SSH 等)正常工作,但 Monit 对 Dovecot 的检查反复失败。我认为这可能是在安装一些软件包更新后开始的,但我不确定何时开始。
由于电子邮件仍在工作,Dovecot 为客户端连接正常工作。我已经尝试过使用 open_ssl s_client 进行测试,并且对于 SSLv3、TLS1.1 和 TLS1.2 似乎也很好。
/etc/monit/monitrc 中的 Dovecot 部分:
check process dovecot with pidfile /run/dovecot/master.pid
start program = "/usr/sbin/service dovecot start"
stop program = "/usr/sbin/service dovecot stop"
if failed port 993 type tcpssl sslauto protocol imap then unmonitor
当我启用对 Dovecot 的监控时,我在 /var/log/monit 中收到此消息:
'dovecot' failed protocol test [IMAP] at INET[localhost:993] via TCPSSL -- IMAP: error receiving data -- Success
我认为它可能是这样的https://secure.kitserve.org.uk/content/ssl-tls-version-conflict-zarafa-monit但我已经尝试用所有这些选项依次替换“sslauto”,但没有运气:SSLV2|SSLV3|TLSV1|TLSV11|TLSV12
我一直在指的 Monit 文档在这里: …
在 Nginx Web 服务器上实现证书认证后,我想在 Dovecot 邮件服务器上做同样的事情。这个想法是创建您自己的 CA 并管理证书(颁发和撤销)。要验证客户端证书,您需要根 CA 证书和 CRL。为了建立安全连接,可以使用由真正 CA 签署的证书(如果您不想在每个工作站上导入自己的根 CA 证书)。
到目前为止,我已经从 Dovecot 官方 wiki 中阅读了这些页面:
这让我得到了这个配置文件:
listen = *,[::]
protocols = imap pop3
auth_mechanisms = plain login
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_privileged_group = vmail
ssl = required
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
ssl_ca = </etc/postfix/ca.pem
ssl_cert_username_field = emailAddress
ssl_verify_client_cert = yes
ssl_require_crl = yes
auth_ssl_require_client_cert = yes
ssl_username_from_cert = yes
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql …Run Code Online (Sandbox Code Playgroud) 我已经配置了 dovecot 和 postfix ......电子邮件服务器工作正常......(Webmail 和 Outlook 都工作......)我已经使用 unix 命令创建了用户......
usreadd -s /sbin/nologin myuser
Run Code Online (Sandbox Code Playgroud)
但我有一个问题,如果我想登录 webmail 或 Outlook,我必须使用 myuser 而不是 myuser@mydomain.com。
暂时我使用,只有用户名如下..

如果我使用 myuser@mydomain.com 它说它的无效用户 webmail 和 Outlook..
我试过谷歌搜索......没有运气......但是......请有人请照亮......
10-master.conf 是
#default_process_limit = 100
#default_client_limit = 1000
# Default VSZ (virtual memory size) limit for service processes. This is mainly
# intended to catch and kill processes that leak memory before they eat up
# everything.
#default_vsz_limit = 256M
# Login user is internally used by login processes. This is …Run Code Online (Sandbox Code Playgroud) 目前,我们有一个功能齐全的 POP/IMAP/Webmail 系统(使用 Dovecot 和 Roundcube),它的预期设计是一座闪闪发光的完美之塔。我们有数以千计的客户属于“默认”域(我将其称为 ourdomain.com),并使用用户名和密码成功登录。我们还有几千人拥有我们托管的域,他们使用完整的电子邮件地址和密码(称为 customerdomain.com)成功登录。自 1990 年代以来就是这种方式,有很多根深蒂固的客户配置。
现在的问题是,人们习惯于使用完整的电子邮件地址登录 Web 表单,必须提醒使用 ourdomain.com 的人仅使用其用户名登录 Webmail 。这是我们的技术支持部门每周接到几次的电话(即使我这样做也很内疚,我只是不打电话给技术支持),可能应该通过某种软件解决方案来消除。
那么我们如何让 Roundcube 或 Dovecot 将“username@ourdomain.com”识别为“username”,而不必更改系统中每个人的实际用户名?但只有在域是“ourdomain.com”而不是“customerdomain.com”时才这样做。请记住,每次我们进行安全升级时,我们所做的任何自定义编码都必须重新实现,我们只会将该选项视为最后可能的选择。
特尔;博士:
我们需要这样的逻辑:
if $email contains @ourdomain.com
{
remove @ourdomain.com;
submit to roundcube;
} else {
submit to roundcube;
}
Run Code Online (Sandbox Code Playgroud) 我们有一个带有域的 linux (Debian) VPS(假设 example.com 和 MX mail.example.com)设置了 SPF。dovecot+exim 正在运行。除此之外还有直接管理员。
当我向外国服务器发送邮件时,一切都很好。消息中有服务器 IP,SPF 检查正常。
一些数据发生了变化(域等):
Received: from mail.example.com (mail.example.com. [188.40.153.39])
by mx.google.com with ESMTPS id ***.7.2015.02.18.04.09.46
for <*@gmail.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 18 Feb 2015 04:09:47 -0800 (PST)
Received-SPF: pass (google.com: domain of test@example.com designates 188.40.153.39 as permitted sender) client-ip=188.40.153.39;
Run Code Online (Sandbox Code Playgroud)
但是,当我将它从本地邮箱发送到另一个本地邮箱,然后通过 POP3 将邮件发送到 gmail 时,我遇到了 SPF 问题,因为邮件包含原始客户端 IP 地址并且 SPF 检查失败。
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of test@example.com does not designate 82.160.100.10 as permitted sender) smtp.mail=test@example.com
Received-SPF: fail (google.com: domain of …Run Code Online (Sandbox Code Playgroud) 我已经在我的 Ubuntu 服务器上设置了 Postfix 和 Dovecot。我的目标是创建 27 个可以接收和发送邮件到任何地方的邮件帐户。我的电子邮件不会在 Gmail、Yahoo 和 Outlook 中显示为垃圾邮件。我用 Rainloop 发送电子邮件,一切都很好。除了;
系统不应该有这么多用户。在撰写本文时,除了我的个人 sudo 用户和 root 用户之外,我在这个系统上有 6 个用户。我通过为人们创建 Linux 用户并为他们提供凭据来授予人们接收和发送电子邮件的权限。
我无法想象像雅虎这样的大型电子邮件服务拥有超过一千万系统用户,必须有一个解决方案让我将 Postfix/Dovecot 连接到一个数据库(可能是 MySQL?),其中存储了所有电子邮件用户,而不是创建这么多 Linux用户。
所以基本上,我将如何设置我在最后一段中写的内容而不会丢失现有数据?我在服务器上收到的电子邮件不多,但丢失数据是不好的做法,防止它总是好的。
谢谢!
我正在尝试将 postfix 和 dovecot 配置为与存储在 MySQL 中的虚拟域一起工作,但是每当邮件从 postfix 传递到 dovecot 时,我都会遇到这个问题。
Apr 26 11:54:40 smtp postfix/pipe[13165]: 20CCE1C30D5: to=<james@domain.ext>, relay=dovecot, delay=45846, delays=45846/0.28/0/0.14, dsn=4.3.0, status=deferred (temporary failure. Command output: lda: Error: user james@domain.ext: Error reading configuration: Invalid settings: postmaster_address setting not given lda: Fatal: Internal error occurred. Refer to server log for more information. )
Run Code Online (Sandbox Code Playgroud)
现在,因为我知道 Google 是如何工作的,所以我发现了很多关于“您需要将 postmaster_address 选项添加到 15-lda.conf 中的 lda 协议行”的参考资料。
是的,这里是输出 doveconf -n
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-49-generic i686 Ubuntu 14.04.2 LTS ext4
auth_debug = yes …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 spamassassin 检测到的垃圾邮件自动移动到 Debian Jessie 上的垃圾文件夹。
我安装了 Spamassassin 并编辑了配置:
local.cf (spamassassin 文件夹)
rewrite_header Subject *****SPAM*****
Run Code Online (Sandbox Code Playgroud)
main.cf
spamassassin_destination_recipient_limit = 1
Run Code Online (Sandbox Code Playgroud)
master.cf
smtp inet n - - - - smtpd
-o content_filter=spamassassin
spamassassin unix - n n - - pipe
flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e
/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
Run Code Online (Sandbox Code Playgroud)
90-plugins.conf (鸽舍)
plugin {
#setting_name = value
sieve = /etc/dovecot/sieve/default.sieve
}
Run Code Online (Sandbox Code Playgroud)
default.sieve
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
}
Run Code Online (Sandbox Code Playgroud)
15-mailboxes.conf (后缀)
mailbox Junk {
auto = subscribe
special_use …Run Code Online (Sandbox Code Playgroud)