sendmail 收到的邮件有 Relay=localhost [[UNIX: localhost]] 导致 check_rcpt 说 Relaying denied

sendmail 收到的邮件有 Relay=localhost [[UNIX: localhost]] 导致 check_rcpt 说 Relaying denied

我已将本地 sendmail 设置为智能主机,并尝试将所有传入的邮件转发到邮件服务器。

但是,每当我尝试向互联网邮件地址发送邮件时,都会出现以下错误:

ruleset=check_rcpt, arg1=<[email protected]>, relay=localhost [[UNIX: localhost]], reject=550 5.7.1 <[email protected]>... Relaying denied

我调试了 sendmail 配置文件并发现该规则失败,因为它将 client_addr 接收为 localhost 并且 client_resolve 解析为 NULL。并且 client_name 被设置为 client_name,它尝试将其解析为某个主机名。

我的主机名是 abc,它将其转换为 localhost.bc

check_rcpt的日志:

Relay_ok           input: < email1 @ gmail . com >
rewrite: RHS $&{client_addr} => "localhost"
rewritten as: localhost
rewritten as: [ localhost ]
rewrite: RHS $&{client_resolve} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{client_name} => "localhost"
rewritten as: < @ > localhost
rewritten as: < ? > localhost . b . c
rewritten as: < ? > localhost . b . c
Relay_ok         returns: < ? > localhost . b . c
rewritten as: O $| < ? > localhost . b . c
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"

在 sendmail.cf 文件中,我已将 SMART_HOST 设置为我的邮件服务器,但它被设置为 localhost。

有人可以提供一些关于如何解决这个问题的指点吗?

答案1

cf/README 中的“反垃圾邮件配置控制”Sendmail 分发版中的文件。
依我之见,它表明以下访问表条目应该可以解决您的问题。

/etc/mail/access 条目(文件需要使用 makemap 进行编译):

connect:[UNIX:localhost]  RELAY

如果它不起作用(如您所报告的),那么尝试

connect:localhost  RELAY

相关内容