我设法使用 postfix 和 dovecot 设置了我的第一个 Debian 邮件服务器。我使用 roundcube 访问由 MySQL 数据库中的虚拟用户定义的 IMAP 帐户。
到目前为止一切都很完美。我现在想做的是从其他服务器(例如hotmail)获取邮件并将它们分发到相应的虚拟帐户。
因为我完全不知道从哪里开始,所以我想我应该尝试一下,只是寻求一个大致的方向。
任何帮助深表感谢。
发送邮件时,Outlook 错误4.7.1 Service unavailable - try again later。我已经安装了 postfix、dovecot 和 openDKIM,但是 OpenDKIM 给了我错误:
Mar 30 10:19:32 x opendkim[16762]: can't load key from /etc/ssl/private/mail.x.nl.key: Permission denied
Mar 30 10:19:32 x opendkim[16762]: A058440C14: error loading key '_domainkey.x.nl'
Mar 30 10:20:27 x opendkim[16762]: can't load key from /etc/ssl/private/mail.x.nl.key: Permission denied
Mar 30 10:20:27 x opendkim[16762]: 6A4FF40C14: error loading key '_domainkey.x.nl'
Mar 30 11:45:42 x opendkim[16762]: can't load key from /etc/ssl/private/mail.x.nl.key: Permission denied
Mar 30 11:45:42 x opendkim[16762]: 0EDB640845: error loading key …Run Code Online (Sandbox Code Playgroud) 我只是第一次设置 dovecat 和 postfix,想知道为什么这么多公司使用 IMAP 和 SMTP 的子域,如 smtp.mail.example.com 和 imap.mail.example.com?
有什么好处或者只使用example.com也可以?
我问是因为我显然必须使用受信任的 SSL 证书,因为一些大型电子邮件服务提供商拒绝将电子邮件发送到标准的自分配证书。使用没有通配符的 SSL 证书会更便宜。
那么使用子域有什么好处呢?
我目前正在尝试弄清楚如何删除 Debian 服务器上 Maildir 安装文件夹中的旧电子邮件。基本上我想要做的是每天运行一个 cron 作业,以便检查 Maildir 中的特定文件夹中是否有旧电子邮件,如果它们比设定的天数早,则将其删除。
是否有一种简单的方法可以按日期从 Maildir 过滤电子邮件,或者我是否必须将每封电子邮件作为文本阅读,查找时间戳,将其转换,减去提到的天数,然后将其与当前进行比较日期?
如果已经有更好的轮子,我不想发明轮子,所以如果有人能帮助我做到这一点,我会很高兴。
谢谢!
注意:我使用的是带有 Postfix 2.9.6 和 Dovecot 2.1.7 的 Debian 7.8
我无法弄清楚我错过了什么。我正在设置一个新的邮件服务器,每次收到电子邮件时都会出现此错误。
用户在群邮件内
mail:x:8:dovecot,user.name
Run Code Online (Sandbox Code Playgroud)
perms 目录在这里 /var/mail
drwxrwsr-x 3 root mail 4096 nov 11 12:20 mail/
Run Code Online (Sandbox Code Playgroud)
这是 dovecot 配置
# 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 4.4.0-47-generic x86_64 Ubuntu 16.04.1 LTS ext4
auth_mechanisms = plain login
mail_location = mbox:/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 = \Sent
} …Run Code Online (Sandbox Code Playgroud) 我有一个不错的小型邮件服务器设置(运行 Ubuntu Server 16.04),效果很好。它使用 postfix 作为 SMTP,它使用 dovecot (IMAP) 作为虚拟邮箱用户的身份验证源。
它一直工作正常,但现在我在另一个位置(带有动态 IP 地址)有第二台服务器,我希望能够通过我的主邮件服务器发送邮件。我已经看到了在认证中继模式下设置它的指南,并且正在完成该过程,但后来我意识到我需要一个仅发送电子邮件帐户才能对其进行身份验证,因为我不需要不希望它能够接收邮件并填满服务器的硬盘(我不会检查收件箱!)。
如何在没有邮箱但仍可以通过 SMTP 连接并发送电子邮件的虚拟用户设置中创建新的电子邮件帐户?
我无法登录新的自托管网络邮件,并且在 /var/log/mail.log 中收到以下条目
Feb 10 02:00:31 ip-172-26-15-53 dovecot: lmtp(myemailuser@example.co.uk): Error: open(
/etc/dovecot/sieve/before.d/no-spam.svbin.ip-172-26-15-53.31363.94959b0f9050164f) failed: R
ead-only file system
Feb 10 02:00:31 ip-172-26-15-53 dovecot: lmtp(myemailuser@example.co.uk): Error: wEGGI
j+5QF6DegAAAPOhIQ: sieve: binary save: failed to create temporary file: open(/etc/dovecot/s
ieve/before.d/no-spam.svbin.) failed: Read-only file system
Run Code Online (Sandbox Code Playgroud)
看来是权限问题。我已经尝试过这里的建议
我的安装位置是/etc/dovecot,权限是
-rwxrwx--- 1 vmail dovecot
Run Code Online (Sandbox Code Playgroud)
Dovecot 使用以下 playbook 安装在 Ubuntu 18.04 (Amazon Lightsail) 上:
https://github.com/codecowboy/sovereign/blob/master/roles/mailserver/tasks/dovecot.yml
Dovecot 版本为 2.2.33.2 (d6601f4ec)
邮箱存储在encfs卷上
如何配置 dovecot 来压缩/存档旧电子邮件(例如 6 个月前的电子邮件),同时用户仍然能够阅读它们,以节省服务器上的一些宝贵空间?
我们运行 dovecot 作为 IMAP 服务器和 postfix 来传递邮件。我们的一位用户抱怨电子邮件被延迟了(不,我们没有使用灰名单或类似的东西)。/var/log/mail.info 在用户应该收到此电子邮件的时间显示这些日志消息。邮件目录(例如 /mail)安装在 NFS 上(如果有帮助)
Jul 26 18:31:08 mail1 deliver(user@example.com): Corrupted transaction log file /mail/example.com/user/dovecot.index.log: start_offset (5160) > file size (5140)
Jul 26 18:31:08 mail1 deliver(user@example.com): fscking index file /mail/example.com/user/dovecot.index
Jul 26 18:31:08 mail1 deliver(user@example.com): msgid=<20090726173107.8361B2DD@mail.example.com>: save failed to INBOX: Internal error occurred. Refer to server log for more information. [2009-07-26 18:31:08]
Run Code Online (Sandbox Code Playgroud) 我正在尝试登录我的 Amazon EC2 实例上的 IMAP Dovecot 服务器。我正在尝试以 root 身份登录,但在邮件日志中收到此错误:
dovecot: imap: Error: user root: Invalid settings in userdb: userdb returned 0 as uid
Run Code Online (Sandbox Code Playgroud)
我该怎么办?谢谢。
dovecot ×10
postfix ×6
email ×4
linux ×2
compression ×1
debian ×1
email-server ×1
gzip ×1
maildir ×1
nfs ×1
opendkim ×1
ssl ×1
ubuntu ×1
ubuntu-18.04 ×1