我使用 debian 12 作为提交服务器。我无法让它按描述工作。这是我的 doveconf -n:
auth_mechanisms = plain login
disable_plaintext_auth = no
mail_location = maildir:/home/vmail/%d/%n
mail_privileged_group = vmail
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
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocols = " imap submission"
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
submission_relay_host = localhost
submission_relay_port = 2525
userdb {
args = uid=vmail gid=vmail home=/home/vmail/%d/%n
driver = static
}
当我通过 telnet 连接到 localhost 2525 时,可以连接;当我通过 telnet 连接到 localhost 25 时,连接被拒绝。这是为什么?
答案1
提交不是 SMTP。它接收来自经过身份验证的客户端的邮件,并将该邮件转发到 SMTP。
来自文档:
中继 MTA
Dovecot SMTP 提交服务直接将邮件事务代理到配置了以下设置的 SMTP 中继:
您必须告诉 Dovecot 将电子邮件转发到哪里。这可能是也可能不是本地 SMTP 服务器。您已经告诉它这localhost
是适当的延迟,因此您必须在同一台机器上设置 MTA,例如 Exim 或 Postfix。
您想使用 Dovecot 来做这件事有什么特别的原因吗?Postfix 等服务可以很好地处理身份验证。