越来越多的人喜欢用虚拟主机来执行内容,本文就教大家在Sendmail里设置虚拟域,来实现执行力。
如同Apache一样,sendmail也允许使用虚拟主机功能,这是通过在mc文件中FEATURE(virtusertable)功能实现的,而虚拟主机的文件缺省是/etc/mail/virtusertable.db,它用/etc/mail/virtusertable文件生成,这个文件的形式类似于aliases文件,即左地址 右地址,中间用Tab键分开。例如:
someone@linuxaid.net.cn localuser
这样一行意味着本来应该发送给someone@otherdomain.com的邮件现在要发送给本机的用户localuser。当然,这意味着:***,你的DNS记录中,本机应该是otherdomain.com的MX交换器;第二,你的本机sendmail.cw文件或local-host-names应该包含otherdomain.com这个名字。
当然纯粹的这样的域意义不大,但是sendmail还支持邮件虚拟域的参数翻译。例如:
@testdomain.com test@linuxaid.com.cn
意味着所有发往xxx@testdomain的邮件都会被发送到test@linuxaid.com.cn 。而
@testdomain.com %1test@linuxaid.com.cn
则代表参数转义,例如user1@testdomain.com的邮件被发送到user1test@linuxaid.com.cn ,
user2@testdomain.com被发送到user2test@linuxaid.com.cn 。同样,这样的功能也要通过MX记录和CW文件加上去。
建立virtusertable的方法与建立access的办法是一样的:
makemap hash virtusertable.db < virtusertable
然后重新启动sendmail。
阅读完本篇文章,大家是不是觉得在在Sendmail里设置虚拟域很简单啊,快和朋友一起分享吧!
【编辑推荐】