Postfix 是一款非常优秀的MTA(邮件传输代理),常常被用于部署邮件服务器。postfix 配置相对容易,运行也非常稳定。但是一些细节不注意,就会造成收发邮件故障。

使用 Postfix 经常会遇到的问题就是可以外发邮件而不能接收外网发来的邮件,其原因在于 Postfix 的配置有一些问题。

在 Postfix 的配置文件”/etc/postfix/main.cf”中有一个侦听网络接口的选项:

#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost

其中:

  • all  表示侦听本机所有接口
  • $myhostname  表示侦听本机主机名对应的网络端口
  • $myhostname, localhost  表示侦听本机及本机主机名对应的网络端口
  • localhost  表示只侦听本地端口

根据上面对于侦听端口的解释,就可以配置 Postfix 服务的范围了。根据需要去掉配置项前面的”#”号就可以令配置生效,例如让 localhost 生效,再查看侦听的端口情况:

图.1  Postfix  侦听本地端口

可以看到,此时 Postfix 仅侦听”127.0.0.1:25″ 端口,这样就不能接收外网发来的邮件。

解决办法也很简单,就是将之前的配置设置为”all”,这样,Postfix 就可以侦听主机的所有网络接口了。

图.2  Postfix 侦听全部端口

注意上面”0.0.0.0:25″和”127.0.0.1:25″指代的意义是完全不一样的。

还有一点需要特别说明,Postfix的配置项目是可以重复设置的,系统会默认采用相同配置项目最后值作为有效值。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注