我有一台不想运行 postfix 的机器,而是使用 sendmail。我修改了 /etc/mail/sendmail.mc 以添加此行(希望它能通过该 postfix 服务器发送邮件)...
define(`SMART_HOST', `postfixhost.yyyy.com')dnl
然后运行 make 重新生成 sendmail.cf 文件并检查它,看起来不错。然后我发送邮件(使用与我的中继代理主机上相同的命令和电子邮件,它已经运行良好)。
我在我的 sendmail 主机的 /var/log/maillog 中看到此错误
Jan 4 06:59:22 b1 sendmail[20508]: r04DxMkr020508: from=root, size=101, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Jan 4 06:59:22 b1 sendmail[20508]: r04DxMkr020508: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30101, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
为什么仍然使用 127.0.0.1 发送电子邮件?
有什么想法吗?谢谢,Dean
答案1
您的计算机上有两个 sendmail 进程正在运行。一个进程正在使用submit.cf
配置文件,它会尝试将本地生成的邮件(例如来自/bin/mail
)发送到 127.0.0.1。您通常不需要担心submit.{mc,cf}
。
现在在 127.0.0.1 上还有另一个 sendmail 进程正在运行,该进程从 读取配置sendmail.cf
。每次更改后,sendmail.mc
您都需要重新生成sendmail.cf
并重新启动 sendmail。