sendmail下配置/etc/mail/access文件实现邮件转发控制

前言

/etc/mail/access 文件是sendmail的转发控制文件,用以定义对特定网段、域中的主机发来的邮件的处理方式。

基本格式:

[标签]:[参数]  [制约关键字]

示例:

标签:

  1. Connect: 检查对象域名或IP
  2. From: 检查对象 送信人地址
  3. To: 检查对象 收信人地址
  4. 不加标签的默认为Connect。

制约关键字:

  1. OK : 只接收发给自己/本地的邮件. 其他的全部拒绝并向送信服务器返回错误消息(未指定制约关键字的默认值为OK)。
  2. RELAY: 允许接收允许转发。
  3. REJECT:拒绝接收/转发,向送信服务器返回错误消息。
  4. 500: 与reject基本相同,拒绝接收/转发,并向送信服务器返回错误消息和原邮件。
  5. DISCARD:丢弃接收到的邮件,并且不向送信邮件服务器返回任何消息。
  6. ERROR:拒绝接收/转发并向发信服务器返回指定的错误消息,格式参见前面的示例。

注意事项:

修改完文件后记得生成对应的数据库文件,否则是不会生效的。

[root@localhost ~]# makemap hash /etc/mail/access < /etc/mail/access    //生成数据库文件

最后,在保证防火墙和SELinux均正确配置的情况下重启sendmail服务使配置生效。

[root@localhost ~]# service sendmail restart