我尝试通过我自己的邮件服务器用 Mutt 发送邮件。我的邮件服务器运行 Postfix 和 Dovecot。我通过以下方式配置它本教程。我可以使用 Gnome Evolution 和许多其他程序在我的服务器上发送/接收电子邮件。我想使用 Mutt 进行以下配置:
set realname = "{name}"
set header_cache = ~/.mutt/cache/headers
set certificate_file = ~/.mutt/certificates
set message_cachedir = ~/.mutt/cache/bodies
set spoolfile = imaps://{server address}:993/INBOX
set imap_user = "{address}"
set imap_pass = "{password}"
set imap_passive = no
set smtp_url = "smtp://{server}:587"
set smtp_pass = "{password}"
set from = "{address}"
set use_envelope_from = yes
set ssl_starttls = yes
set ssl_force_tls = yes
我在笔记本电脑上使用 Mutt 作为服务器的客户端,因此 Mutt 不会从我的服务器启动。
问题是,每次我尝试发送邮件时,都会遇到此错误:SMTP session fail : Relay access denied
/var/log/mail.log 中对应的日志是:
Jan 7 17:49:58 ns333449 postfix/submission/smtpd[15264]: connect from unknown[{my ip]
Jan 7 17:49:59 ns333449 postfix/submission/smtpd[15264]: NOQUEUE: reject: RCPT from unknown[{my ip}]: 554 5.7.1 <[email protected]>: Relay access denied; from=<{my address}> to=<{destination address}> proto=ESMTP helo=<{my computer}>
Jan 7 17:49:59 ns333449 postfix/submission/smtpd[15264]: lost connection after RCPT from unknown[{my ip}]
Jan 7 17:49:59 ns333449 postfix/submission/smtpd[15264]: disconnect from unknown[{my ip}]
我不明白为什么。在 Gnome Evolution 中,我的邮件服务器参数是:
- IMAP:
- 服务器:{我的服务器地址}
- 端口:993
- 用户:{我的邮件地址}
- 专用端口上的 SSL
- 使用密码进行身份验证
- 邮件发送:
- 服务器:{我的服务器地址}
- 端口:587
- 服务器需要身份验证
- 连接后启动TLS
- 普通身份验证
- 用户:{我的邮件地址}
我希望我给了你足够的信息。
编辑:按照 tarleb 的建议,我smtpd_tls_loglevel = 1
在 中写道/etc/postfix/main.cf
,这是我尝试发送邮件时得到的结果:
Jan 8 11:54:16 ns333449 postfix/submission/smtpd[13158]: connect from unknown[{my ip}]
Jan 8 11:54:17 ns333449 postfix/submission/smtpd[13158]: Anonymous TLS connection established from unknown[{my ip}]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Jan 8 11:54:20 ns333449 postfix/submission/smtpd[13158]: warning: unknown[{my ip}]: SASL PLAIN authentication failed:
Jan 8 11:54:21 ns333449 postfix/submission/smtpd[13158]: lost connection after AUTH from unknown[{my ip}]
Jan 8 11:54:21 ns333449 postfix/submission/smtpd[13158]: disconnect from unknown[{my ip}]
答案1
看起来 mutt 没有向服务器验证自己的身份。我希望解决这个问题的最简单方法是smtp_url
将
set smtp_url = "smtp://$imap_user@{server}:587"
这告诉 mutt 使用您的$imap_user
.如果您的 SMTP 用户与 IMAP 用户不同,请进行更改。如果没有这个,mutt 就不知道它必须先登录才能发送邮件。