更改本地邮件的发送端口?

我禁用了sendmail守护进程(通过在/ etc / sysconfig / sendmail中设置DAEMON = no)。 它不听25号港口。

相反,我正在使用自定义的SMTP服务器。

  • 之前:它在端口25上收听。它接收来自外部和本地邮件的邮件,都是(我想要的)。 但不好以root身份运行。
  • 之后:我只是将其更改为侦听端口25252,并使用iptables将stream量从25redirect到25252。

这适用于连接到端口25的其他机器。 它被redirect到25252。

然而,本地发送的邮件(例如cron,monit)仍然试图在端口25上连接,并且什么都没有了。

为了让本地邮件路由到我的replaceSMTP服务器,似乎有两个select:

  1. 更改本地邮件发送连接到端口25252。
  2. 使iptables工作在本地stream量上,并将其从25252redirect到25252。

我更喜欢2(如果可能的话),因为它扩展了我已经使用的相同的方法(和sendmail mc文件使我的头旋转)。 但无论哪种方式,1或2,我会感谢任何人可以帮助我学习如何做到这一点。 谢谢。

你可以请尝试:

iptables -t nat -A OUTPUT -p tcp -o lo --dport 25 -j DNAT --to-destination :25252 

或与:

 iptables -t nat -A OUTPUT -p tcp -o lo --dport 25 -j DNAT --to-destination IP:25252 

其中IP是sendmail用于侦听的IP。 你可以find它:

 sudo netstat -tlnp|grep sendmail 

问题:您不能让自定义SMTP服务器以root用户身份在端口25 / tcp中绑定, 然后放弃其特权?