三、SendMail其它配置
1、SendMail本地别名
SendMail可以通过本地别名实现以下功能邮件转发、邮件组等功能,配置时用户必须是本地邮件用户。实现时需要编辑/etc/aliases文件,其方法如下图:
user1的邮件转发一份user2。
user3的邮件转发给user4,user3收不到。
发送给hr(系统中没有这个用户)的邮件user5及user6可收到。
2、SendMail虚拟别名
SendMail可以通过本地别名实现以下功能邮件转发等功能,配置时用户可以任意,该功能可以将邮件转发到外部区域。实现时需要编辑/etc/mail/virtusertable文件,其方法如下图:
1:发送给user5@example.zqin邮件转发到onlyzq@gmail.com。
2:发送给admin@test.zqin的邮件转发到administrator@test.zqin。
3:所有发送给temp.zqin区域的邮件全部转发到user6@example.zqin。
4:所有发送给tmp.zqin的邮件转到对应%1@gmail.com,%1表示收件人。
3、SendMail地址伪装
SendMail对本服务器所有发出的邮件进行地址伪装(自动修改发件人地址)。
全局伪装
全局伪装针对所有本区域用户,此功能需修改/etc/mail/sendmail.mc文件,下面的例子中所有发住外部区域的邮件收件人所有区域自动修改为zhangqin.com:
FEATURE(masquerade_envelope)dnl #这句有例句就在第一句的下几行,取消注释即可
FEATURE(masquerade_entire_domail)dnl #这句有例句就在第一句的下几行,取消注释即可
指定用户伪装
指定用户的地址伪装,该功能只能用于收件人是外部域。这个可以和全局地址伪装同时使用。下面的例子中将所有user7@example.zqin发出的邮件发件人修改为zhangqin@rhel.com。
修改/etc/mail/sendmail.mc文件。
MASQUERADE_AS(`always_add_domain’)dnl #这句配置文件中有,不需修改
GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names’)dnl #需要输入
建立用户列表。
在lost-hosts-names中加入虚拟区域名称4、SendMail访问控制
通过/etc/access可以对通过SendMail的邮件流进行控制,其对邮件流通过的动作主要有以下几种:
From:发件人是其它域,收件人是当前域
To:发件人是当前域,收件人是其它域
Connect:发件人、收件人都是其它域
中继限制可用动作:
REJECT:拒收并发退信通知
OK:无条件接收,当与REJECT发生冲突时优生
RELAY:接收,当与REJECT发生冲突时REJECT优先
DISCARD:拒绝
ERROR:550 your message:拒绝,返回特定通知
下图是一个/etc/access文件的例子: