例文环境centos 5

当sendmail从任意MTA收到一封邮件时,首先检查收信地址. 如果”@”后面的部分和本机文件”/etc/mail/local-host-names”里的一条匹配则尝试将其作为本地邮件保存, 无匹配项时则尝试将该邮件转发给外部MTA.

※MTA: 邮件转发代理,邮件服务的一部分.

如上sendmail的邮件接收,转发机制是作为MTA最重要的部分.这里的设置如果有问题,邮件服务器很可能成为垃圾邮件的中转站.所以有必要熟悉理解这部分的设置方法.

MTA 通常通过邮件的送信人地址或者域名来判断是否接收或转送.

Sendmail 通过参照二进制数据库文件”/etc/mail/access.db”来进行各种控制.

“/etc/mail/access.db”可以通过”makemap”命令将文本文件“/etc/mail/access”转换生成. 因此实际修改时,先改文本文件“/etc/mail/access”,然后转换.

生成二进制文件命令:

[root@sunnybox mail]#makemap – v hash /etc/mail/access.db < /etc/mail/access

基本格式

标签:设置对象IP地址或域名空格或Tab 制约关键字.

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

redhat linux版本可能默认情况下没有标签项。

不加标签的默认为Connect.,另外标签还可以指定为From,To

Connect: 检查对象域名或IP

From: 检查对象 送信人地址

(这里注意送信人地址和收信人地址是可以伪装的,所以送信人地址和送信服务器地址不一定一致.所以From 的设置有时是必要的)

From 设置例:

From:spam@obenrispam.com    REJECT (拒绝某人发来的邮件)

From:obenrispam.com    REJECT (拒绝从obenrispam.com发来的所以邮件)

From:spam@    REJECT(拒绝所以名字叫spam的邮件,无论来自哪个域)

To: 检查对象 收信人地址(设置理由,方法同上)

制约关键字

OK RELAY REJECT 550 DISCARD

OK : 只接收发给自己/本地的邮件. 其他的全部拒绝并向送信服务器返回错误消息.

未指定的默认值为OK.

RELAY: 允许接收允许转发.

REJECT:拒绝接收,转发. 向送信服务器返回错误消息.

500: 与reject基本相同,拒绝接收,转发,并向送信服务器返回错误消息和原邮件.

DISCARD:丢弃接收到的邮件,并且不向送信邮件服务器返回任何消息.

sendmail 使用下列配置文件:

文件名 功能
/etc/mail/access sendmail 访问数据库文件
/etc/mail/aliases 邮箱别名
/etc/mail/local-host-names sendmail 接收邮件主机列表
/etc/mail/mailer.conf 邮寄配置程序
/etc/mail/mailertable 邮件分发列表
/etc/mail/sendmail.cf sendmail的主配置文件
/etc/mail/virtusertable 虚拟用户和域列表

29.3.1. /etc/mail/access

访问数据库定义了什么主机或者 IP 地址可以访问本地邮件服务器和它们是哪种类型的访问。 主机可能会列出 OKREJECTRELAY 或者简单的通过 sendmail 的出错处理程序检测一个给定的邮件错误。 主机默认列出 OK,允许传送邮件到主机, 只要邮件的最后目的地是本地主机。列出 REJECT 将拒绝所有的邮件连接。如果带有 RELAY 选项的主机将被允许通过这个邮件服务器发送邮件到任何地方。

例 29.1. 配置 sendmail 的访问许可数据库

cyberspammer.com 550 We do not accept mail from spammers

FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers

another.source.of.spam REJECT

okay.cyberspammer.com OK

128.32 RELAY

在上面的例子中我们有 5 条记录。 与左边列表匹配的发件人受到右边列表动作的影响。 前边的两个例子给出了 sendmail 的出错处理程序检测到的错误代码。 当一个邮件与左边列表相匹配时,这个信息会被打印到远程主机上。 下一条记录拒绝来自 Internet 上的一个特别主机的邮件 another.source.of.spam。接下来的记录允许来自 okay.cyberspammer.com 的邮件连接, 这条记录比上面那行 cyberspammer.com 更准确。更多的准确匹配使不准确的匹配无效。最后一行允许电子邮件从主机和 128.32 开头的 IP 地址转发。 这些主机将被允许通过这台邮件服务器前往其它邮件服务器发送邮件。

当这个文件被升级的时候,您必须在 /etc/mail/ 运行 make 升级数据库。

29.3.2. /etc/mail/aliases

别名数据库包含一个扩展到用户,程序或者其它别名的虚拟邮箱列表。 下面是一些在 /etc/mail/aliases 中使用的例子:

例 29.2. 邮件别名

root: localuser

ftp-bugs: joe,eric,paul

bit.bucket: /dev/null

procmail: "|/usr/local/bin/procmail"

这个文件的格式很简单; 冒号左边的邮箱名, 会被展开成右边的形式。 第一个例子简单地将 root 邮箱扩展为 localuser, 之后将继续在别名数据库中进行查找。 如果没有找到匹配的记录, 则邮件会被发给本地用户 localuser。 第二个例子展示了一个邮件列表。 发送到 ftp-bugs 的邮件会被展开成 joeericpaul 这三个邮箱。 注意也可以通过 <user@example.com> 这样的形式来指定远程的邮箱。 接下来的例子展示了如何把邮件写入到文件中, 这个例子中是 /dev/null。 最后一个例子展示了如何将邮件发给一个程序, 具体而言是通过 UNIX 管道发到/usr/local/bin/procmail 的标准输入。

更新此文件时, 您需要在 /etc/mail/ 中使用 make 来更新数据库。

29.3.3. /etc/mail/local-host-names

这是一个 sendmail(8) 被接受为一个本地主机名的主机名列表。 可以放入任何 sendmail 将从那里收发邮件的域名或主机。例如,如果这个邮件服务器从域 example.com 和主机mail.example.com 接收邮件,它的 local-host-names 文件,可以看起来象如下这样:

example.com

mail.example.com

当这个文件被升级,sendmail(8) 必须重新启动,以便更新设置。

29.3.4. /etc/mail/sendmail.cf

sendmail的主配置文件 sendmail.cf 控制着 sendmail 的所有行为, 包括从重写邮件地址到打印拒绝远程邮件服务器信息等所有事。 当然,作为一个不同的角色,这个配置文件是相当复杂的, 它的细节部分已经超出了本节的范围。幸运的是, 这个文件对于标准的邮件服务器来说很少需要被改动。

sendmail 主配置文件可以用 m4(1) 宏定义 sendmail 的特性和行为。它的细节请看 /usr/src/contrib/sendmail/cf/README

当这个文件被修改时, sendmail 必须重新启动以便对新修改生效。

29.3.5. /etc/mail/virtusertable

virtusertable 映射虚拟域名和邮箱到真实的邮箱。 这些邮箱可以是本地的、远程的、/etc/mail/aliases 中定义的别名或一个文件。

例 29.3. 虚拟域邮件映射的例子

root@example.com root

postmaster@example.com postmaster@noc.example.net

@example.com joe

在上面这个例子中, 我们映射了一个域 example.com。 这个文件是按照从上到下, 首个匹配的方式来处理的。 第一项将 <root@example.com> 映射到本地邮箱 root。 下一项则将<postmaster@example.com> 映射到位于 noc.example.netpostmaster。 最后, 如果没有来自 example.com 的匹配, 则将使用最后一条映射, 它表示将所有的其它邮件发给 example.com 域的某个人。 这样, 将映射到本地信箱 joe

转载于:https://blog.51cto.com/qingwang/909329

sendmail接收,转发权限控制文件access配置详解相关推荐

  1. Struts2使用Interceptor实现权限控制的应用实例详解

    Struts2使用Interceptor实现权限控制的应用实例详解 拦截器:是Struts2框架的核心,重点之重.因此,对于我们要向彻底学好Struts2.0.读源码和使用拦截器是必不可少的.少说了. ...

  2. .sbt文件的配置详解

    一个简单的build.sbt文件内容如下: name := "hello" // 项目名称organization := "xxx.xxx.xxx" // 组织 ...

  3. Mybatis中接口和对应的mapper文件位置配置详解

    今天遇到一个问题是mybatis中接口和对应的mapper文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下: 我们知道在典型的maven工程中,目录结构有:src ...

  4. Tomcat 的 Server 文件配置详解

    转载自  Tomcat 的 Server 文件配置详解 前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛.server.xml是Tomcat中最重要的配置文件, ...

  5. 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子

    Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...

  6. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  7. k8s的yaml文件配置详解(三)

    k8s的服务资源文件配置详解 注:本文章只作配置项解释,请灵活运用 --- #Service kind: Service apiVersion: v1 metadata: name: service ...

  8. SAP S4 MM配置详解之三:物料主数据-定义物料类型/物料状态/字段选择控制/物料组

    1.定义物料类型 概念及功能说明 物料类型是对物料进行分组的一种方式,每一种类型的物料有相同的基本属性,例如原材料.半成品和成品.创建物料主记录时,将物料分配到物料类型.物料类型属于物料的一般数据.控 ...

  9. Redis 配置详解 —— 全网最新最全

    文章目录 一.撰文目的 二.配置详解 1. EXAMPLE(概要说明) 2.INCLUDES(配置包含) 3.MODULES(加载模块) 4.NETWORK(网络配置) 5.TLS/SSL(通讯协议) ...

  10. varnish配置详解

       varnish配置详解 能用到缓存的服务器的原因是,应用到了程序的局部性. 空间局部性:一个程序最近访问了一个空间,那么他周边的空间也将被访问. 时间的局部性:一条指令一段时间内被执行,之后的一 ...

最新文章

  1. sql镶嵌查询_sql数据库的嵌套查询
  2. 从Chrome中的css自定义样式按钮中删除蓝色边框
  3. 初学C++正则表达式(regex)
  4. NOKIA自己掌控的新的智能手机系统ASHA
  5. Abstract Factory(抽象工厂)实践
  6. 如果只看一篇文章弄懂Pfile与spfile,那么这篇就够了……
  7. [No0000166]CPU的组成结构及其原理
  8. android 多进程 坑,Android 开发中踩过的坑之八:多进程问题
  9. [Java] 蓝桥杯ALGO-43 算法训练 A+B Problem
  10. 计算机专业能进教育局吗,教育局一般招什么专业
  11. zend framework入门教程实践
  12. WIN10英文版改中文
  13. python换证件照底色
  14. godaddy又支持支付宝支付了。今天backorder了一个域名,尝试用支付宝支付。居然可以支付了。当时的汇率结算。...
  15. Kind安装、使用及相关注意事项记录
  16. 科目二上车前的基础说明
  17. CSS3的2D、3D变换、过度与动画效果
  18. 程序员一般都如何接私活,我也想接,有什么可行的方法吗?
  19. 中文分词-转载3_一个北京程序员
  20. 如何对儿童虐待照片进行地理定位?

热门文章

  1. GridView中的超级链接
  2. Autodesk CAD 2023简体中文正式版
  3. Mac只能读取不能修改硬盘文件怎么办?
  4. HashMap、weakHashMap、LinkedHashMap和TreeMap四者区别与联系
  5. FORM LOV特性
  6. 额外域控制升级为主控制域
  7. 学习写 Makefile
  8. 「leetcode」383. 赎金信:哈希表的经典题目
  9. hdu 4004The Frog's Games 二分查找!!!!!!!
  10. Illustrator 教程,如何在 Illustrator 中变换图稿?