出于好奇,有数十个/数百个教程可帮助您设置 dovecot - postfix 邮件服务器。从表面上看,它们都是电子邮件服务器,为什么两者都使用?邮件服务器已经够复杂了,为什么要管理和排除两件事?
从表面上看,与在 Ubuntu 中运行 CentOS 一样有意义,并且总是想知道为什么 ./configure 会被混淆:)
Dovecot 是用于 Linux/UNIX 类系统的开源 IMAP 和 POP3 电子邮件服务器,主要考虑安全性。Dovecot 是小型和大型安装的绝佳选择。它快速、设置简单、不需要特殊管理并且占用很少的内存。
什么是后缀?Wietse Venema 的邮件服务器开始于 IBM 研究,作为广泛使用的 Sendmail 程序的替代方案。现在在 Google,Wietse 继续支持 Postfix。
我遵循了众多指南中的一个,并将其全部用于 Postfix 和 ISPConfig 的 TLS 身份验证,然后最后意识到我真的不必接触 Dovecot,但不确定垃圾邮件过滤器是否必须在那里,防病毒软件或其他一些我没有想到的东西。
我最近按照 linode.com ( https://library.linode.com/email/postfix/postfix2.9.6-dovecot2.0.19-mysql )上的说明设置了一个邮件服务器,但我使用的是 postgreSQL 而不是 mySQL。
除了我无法从我的邮件客户端 (Mac Mail) 向外部地址发送电子邮件之外,关于服务器的一切都正常工作。当我尝试向外部地址发送消息时,我从 postfix 收到以下错误:
NOQUEUE: reject: RCPT from comcast.net[174.51.xxx.xx]: 554 5.7.1 <user@somewhere.external.com>: Relay access denied; from=<user@mydomain.com> to=<user@somewhere.external.com> proto=ESMTP helo=<[10.0.0.15]>
Run Code Online (Sandbox Code Playgroud)
(注意我编辑了 from ip 地址)
我已将其配置为使用 dovecot 作为身份验证机制。在 dovecot 日志中,我得到:
Oct 23 16:44:31 auth: Debug: client in: AUTH 2 PLAIN service=smtp nologin lip=50.116.xx.xx rip=174.51.xxx.xx secured resp=<hidden>
Oct 23 16:44:31 auth: Debug: sql(user@mydomain.com,174.51.xxx.xx): query: SELECT email as user, password FROM virtual_users WHERE email='user@mydomain.com';
Oct 23 16:44:31 auth: Debug: client out: OK 2 user=user@mydomain.com …Run Code Online (Sandbox Code Playgroud) 几年前,我在 debian 上配置了一个带有 exim4 + dovecot 2.2.10 的邮件服务器,最近一直在调整 dovecot 配置。我使用自签名 x509 openSSL 证书,证书和密钥的路径如下
ssl_cert = </etc/ssl/certs/dovecot.pem"
Run Code Online (Sandbox Code Playgroud)
注意完整路径前面的 <。
我尝试删除它以查看效果,这是我在 dovecot.log 中得到的:
dovecot:imap-login:致命:无法解析私有 ssl_key:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行:期望:任何私钥
把 < 放回去摆脱了它,但我找不到这个标志背后的含义。一些手册给出了没有 < 的这些路径,尽管官方 dovecot 文档使用它。
我已经使用 Postfix 设置了 linux 电子邮件服务器,并且正确设置了 SPF 和 DKIM。当我发送电子邮件时,电子邮件已正确签名,当我从接收客户端(例如gmail)查看源时,我可以看到SPF和DKIM通过了。
我还安装了 dovecot,以便我可以使用 POP3 和 IMAP。目前,我使用 gmail 作为 POP3 客户端,以便我可以利用他们出色的反垃圾邮件过滤器。虽然服务器上的实际帐户可能有垃圾邮件,但当我通过 gmail 检查电子邮件时,垃圾邮件会被正确过滤。
我遇到的问题是退回的电子邮件。如果我向一个不存在的地址发送电子邮件,邮件被退回,然后 Postfix 向我发送一封退回电子邮件,内容类似于“远程邮件系统说邮箱不可用”。
此退回电子邮件未使用 DKIM 签名,我在查看源时可以看到这一点。因此,我的 POP3 客户端(即 gmail)将退回的电子邮件标记为垃圾邮件。
我必须做什么才能让我的退回电子邮件也通过 DKIM 处理?
每个人。我正在学习dovecot使用虚拟 Ubuntu 12.04 机器设置家庭 IMAP 服务器。我的目的是最终拥有一个使用 POP3 从多个地址接收电子邮件并将它们从我的 ISP 服务器中删除的家庭服务器,同时使它们可以通过家庭 IMAP 服务器进行访问(这类似于https://help. ubuntu.com/community/POP3Aggregator,其中解释了如何使用dovecot版本 1设置系统,因此已过时)。我打算在发送消息时直接使用ISP的服务器,并将所有发送的消息BCC给自己。
我已经完成了测试服务器的基本设置:getmail使用 POP3 从两个测试电子邮件帐户中获取邮件,并成功地将它们传送到new虚拟机上各自的 Maildir 样式文件夹。Dovecot 然后成功地看到了这些消息。
我有两个问题:
1)我有建立new,cur和tmp两个测试文件夹手动账户获得此设置工作。有没有办法dovecot在我创建新的虚拟用户帐户时自动创建这些 Maildir 文件夹(例如,当我将用户和密码组合添加到我的dovecot密码文件时),或者是否希望我编写一个 bash 脚本来自动创建任务?
2) 我欢迎您对如何在我学习设置时改进这种方法提出任何意见。我采用这种方法的动机是 1) 启用归档/存储来自多个托管服务提供商的电子邮件,这些提供商对服务器存储设置了上限,以及 2) 让我更好地控制电子邮件存储,而无需我设置和管理邮件服务器从头开始(我还没有准备好这样做)(这遵循https://ssd.eff.org/tech/email 上的建议)。
谢谢!
我正在使用本教程使用 postfix、dovecot 和 mysql 配置邮件服务器。
在配置 Postfix 时,我必须取消注释以下几行,然后使用service postfix restart. 重新启动时,我不断收到以下错误:
root@server-1:~# service postfix restart
* Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: fatal: file /etc/postfix/master.cf: line 23: bad field count
postfix/postfix-script: fatal: cannot execute /usr/sbin/postconf!
...fail!
Run Code Online (Sandbox Code Playgroud)
这是其中的一部分/etc/postfix/master.cf:
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps # <<< line 23
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Run Code Online (Sandbox Code Playgroud)
出了什么问题,我该如何解决?
我正在 RHEL7 上使用 Postfix+Dovecot 设置邮件服务器。虽然不是必需的,但我想设置它以便邮件服务器能够托管多个域。
出现的问题是我有两个完全同义的域名:在过去的某个时候,引入了一个替代名称来节省用户的几次按键操作。以一个域名存在的所有电子邮件也以另一个域名存在。我希望将发送到这两个域的电子邮件发送到同一个邮箱。我想避免将地址硬重写为一个拼写:如果用户从包含长域名的地址发送电子邮件,则该电子邮件在发送时应显示为这样,较短的电子邮件地址也是如此。
Postfix 配置为将邮件中继到这两个域
# in /etc/postfix/main.cf
relay_domains = hash:/etc/postfix/relay_domains
# in /etc/postfix/relay_domains
my-long-named-domain.com lmtp:unix:private/lmtp-dovecot
mydomain.com lmtp:unix:private/lmtp-dovecot
Run Code Online (Sandbox Code Playgroud)Postfix 通过 Dovecot SASL 将身份验证外包给 Dovecot
身份验证和邮件传递适用于短登录,user@mydomain.com而长登录失败并user@my-long-named-domain.com抛出消息User does not exist。我猜这是因为路径,这在 3 和 4 中进行了解释。
Dovecot 对userdband使用 passwd-file 机制passdb,其中%d在文件路径中用于区分域。
# in /etc/dovecot/conf.d/auth-passwdfile.conf.ext
passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%n /etc/dovecot/%d/users
}
userdb {
driver = passwd-file
args = username_format=%n /etc/dovecot/%d/users
default_fields = uid=vmail gid=vmail
}
Run Code Online (Sandbox Code Playgroud)
用户文件仅位于短域名下: …
除非用户专门单击垃圾文件夹,否则 Thunderbird 无法同步垃圾文件夹。用户如何自动同步垃圾文件夹,否则误报可能会被忽视?
Thunderbird 是 Windows 10 上的最新版本 52.2.1(32 位),所有文件夹均已订阅,尝试按“获取所有新消息”多次,重新启动 Thunderbird,尝试禁用/启用自适应垃圾过滤器选项。使用的服务器是 Dovecot IMAP,并为垃圾文件夹启用了订阅。在其他客户端中不会发生问题,因为收到垃圾邮件后,垃圾文件夹会显示未读邮件标志。
我在卸载 dovecot 时遇到问题。在试图修复它时,我让它变得更糟。这是“日志”:
Errors were encountered while processing:
dovecot-imapd
dovecot-pop3d
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@gasimzada:/usr/lib# apt-get remove -f dovecot-imapd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
dovecot-imapd dovecot-pop3d
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 976 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... …Run Code Online (Sandbox Code Playgroud)