我有一台 Debian 服务器,其中 postfix 配置了 sasl 和 tls,并且使用 dovecot 作为邮件服务器。我在向服务器上的帐户发送邮件时遇到了两个不同的问题。
首先,当我从我的 Gmail 帐户发送邮件时,我收到
Jan 4 23:35:50 avalon postfix/smtpd[2599]: NOQUEUE: reject: RCPT from mail-pb0-f43.google.com[209.85.160.43]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-pb0-f43.google.com>
做了一些研究,似乎问题出在以下两行
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
我是新手,但从我所掌握的信息来看,postfix 充当中继服务器,将邮件从另一个 MTA 中继到 dovecot,并且只mynetworks
允许发送中继请求。这是正确的吗?如果是这样,我该如何解决这个问题?我希望任何人都能向此服务器发送电子邮件,但也希望防止滥用(例如垃圾邮件)。
第二个问题是,当我尝试向自己发送电子邮件时,我得到了
Jan 4 23:53:22 avalon postfix/smtp[2679]: 227D638C7857: to=<[email protected]>, relay=none, delay=0.32, delays=0.09/0/0.23/0, dsn=5.4.6, status=bounced (mail for b.com loops back to myself)
这里到底是什么问题?我该如何解决?
答案1
我想我已经搞清楚了。将 添加permit_auth_destination
到smtpd_recipient_restrictions
和 允许mydestination
发送到服务器的邮件不被退回。但是,邮件被发送到 /var/mail/ 而不是 dovecot。我的mailbox_command
是procmail
,所以我用以下内容创建了一个新文件/etc/procmailrc
,因为我已将 dovecot 配置为使用 Maildir 格式。
DEFAULT="$HOME/Maildir/"
MAILDIR="$HOME/Maildir/"
后半部分似乎已经修复了“邮件循环回到我自己”的问题,大概是因为procmail
不再尝试使用默认设置sendmail
。