首先查看,本机的有没有运行Sendmail服务:用service named status 命令测试 ,没有任何结果。再用rpm –qa | grep sendmail 查询安装的相关rpm包,也没有任何相关安装包,看来我在安装redhat 9 linux时没有选择这一服务。
进入安装过程。再次说明,我的redhat 9 是安装在win 7 下的虚拟机中,并且在我的配置下,redhat 9时时刻刻挂载着一个redhat 9的iso镜像文件。有截图为证:
那么,如果让我选择,安装方式,我会首选使用redhat 9 下的图形安装方式,就是
说明,看到上面的‘3/7’没有,我后来又重新装了一下。将剩余的辅助安装包,全装了起来。效果如下图所示。
最后,检查安装的结果。方式是在bash中输入相关命令,结果如下图所示:
5.2 redhat 9 下sendmail服务器的配置
(1) 因为sendmail发送邮件时是通过域名来发送的,比如我的机器上合法的邮箱名就是:wuchao@wuchao.com。那么这就需要dns服务器的协助,方式是在dns的配置目录中在wuchao.com的正向zone文件(就是wuchao.com.zone)中增加一条mx邮件交换记录,截图如下:
(2) 修改sendmail的配置文件“/etc/mail/sendmail.cf”,将其中的Cwlocalhost 修改为
Cwcomputer.wuchao.com wuchao.com。
(3) 使用make –C /etc/mail 命令重新生成配置文件。
修改/etc/mail/access文件,增加下面一行
(4) 由/etc/mail/access 文件 生成 /etc/mail/access.db,使用如下命令:
(5) 配置好,一定要重新启动sendmail 服务,否则服务器的运行状态还是采用以前的配置文件。
5.3 sendmail服务器的测试
嗯,到了这一过程,我很激动。总感觉,自己花了这么长时间,总算是做了点事。
为了进行测试,需要两个用户:root用户已存在,那么还需要一个,所以我用 useradd wuchao 命令建立了一个wuchao用户,然后passwd 来修改密码。
最后,使用su wuchao 进入wuchao用户的执行环境下。但是,产生了如下错误:
当然,还得google一下,原因如下:
#su - username 携带环境变量
#su username 只是切换用户,但是环境变量还是之前用户的
可是,当我利用secureCRT的wuchao用户直接登录linux系统后(区别于用root用户进行转换)。再使用mail命令时还是出现这个错误:
没办法了,使用终极大法:修改文件权限:
#chmod –Rv 777 /etc/mail
好了,mail命令终于可以使用了。
写封信吧:
- 先使用mail命令给本机用户写封信:root 给wuchao ,此种方式并不会通过dns进行解析,只是一个linux系统内部用户之间的通信。
root用户写信:
wuchao用户收信:
2.用邮件域名写信:wuchao@wuchao.com写信给root@wuchao.com。
wuchao@wuchao.com写信:
root@wuchao.com收信:
可是,给本机用户写信不过瘾,还是给外网的邮箱写封信吧,效果更加的明显。
比如我想给:haore147@163.com这个帐号写封信,我可以这么干:
下面登录haore147@163.com邮箱来看一下效果吧。haore147@163.com确实收到了一封信。主题就是hihaore147:
查看此邮件主题为hihaore147的具体正文内容,呵呵,正是我们的wuchao@wuchao.com写来的。但是假如haore147@163.com给wuchao@wuchao.com写封信,wuchao@wuchao.com是收不到的。这是因为,wuchao.com的主机ip地址是192.168.0.33,这不是公网上一个合法的ip地址。
哦,原来写信是这么过瘾啊。
作者:木木