Linux 5.4 RHCE Sendmail 学习笔记基础配置
我的博客:http://wqmsl.blog.51cto.com/
制作人:wqmsl
目标:1、搭建一个常规的sendmail服务器,实现域内收发邮件
2、实现域和域之间发送邮件
3、实现群发功能
1、IP说明:
192.168.1.2——主机名:mail.wqmsl.com mail服务器
192.168.1.3——主机名:mail.lpmsl.com mail服务器
192.168.1.4——主机名:dns.wqmsl.com DNS服务器
2、前期准备
更改主机名称(更改三处):1、hostname更改,2、hosts更改,3、/etc/sysconfig/network
3、所需软件包如下
Sendmail服务软件包
sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,必须安装该软件包。
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包
sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包
sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档
m4-1.4.5-3.el5.1.i386.rpm:宏处理过虑软件包
dovecot-1.0-1.2.rc15.el5.i386.rpm:接收邮件软件包,安装时需要注意安装顺序
2.Sendmail相关配置文档
sendmail.cf:sendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf
sendmail.mc:sendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mc
local-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-name
access.db:用来设置sendmail服务器为哪些主机进行转发邮件,位于/etc/mail/access.db
aliases.db:用来定义邮箱别名,位于/etc/mail/aliases.db
virtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db
下面我们看看哦
我们先来做一下基础的工作,配置好DNS服务器
在DNS上有三个区域文件 wqmsl.com.zone、192.168.1.rev、lpmsl.com.zone各个区域文件配置内容如下
wqmsl.com.zone
192.168.1.rev
lpmsl.com.zone
如有DNS上面的问题,请看《Linux 5.4 RHCE DNS学习笔记》
要保证在客户端可以正常解析哦
下面我们来配置sendmail服务器
一、来实现第一个实验目标,搭建一个常规的sendmail服务器,实现本域用户收发邮件
修改DNS域名解析的配置文件
Sendmail软件的安装我就不多说了,你可以使用rpm安装也可以使用yum安装,看个人爱好哦
下面我们就来开始配置吧
找到52和53行去掉开头的dnl(注释的意思),让其生效
找到116这行,把原来的127.0.0.1改为0.0.0.0,默这样可以扩大侦听范围(通常都设置成0.0.0.0),否则邮件服务器无法正常发送邮件。
找到155这行,修改为自己服务器所在的域名
保存退出
然后修改 local-host-names 这个文件,添加自己的域名和主机名
保存退出
然后使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一个模板文件哈~
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 执行后没有任何消息返回
下面我们安装Dovecot软件包(POP3和IMAP)
到这里sendmail服务器基本配置完成后,Mail Server就可以完成邮件发送工作,如果需要使用POP3和IMAP协议接收邮件还需要安装dovecot软件包。在rhel5里dovecot整合了IMAP。
安装dovecot软件包要解决其依赖性,安装perl-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm
所以大家可以使用yum 来安装,省心啊...(偶比较懒哦)
我的已经安装过了,来看一下(安装命令:yum install dovecot 依赖性自动解决)
配置dovecot,打开/etc/dovecot.conf ,找到第20行,去掉前面的注释即可
这样就开启了IMAP和pop3了。
启动dovecot服务并让其随开机启动
检查sasl包是否都安装到系统上了,默认已经安装到系统上了(sasl是用来客户端验证用户的,所以必须安装的)
已经都安装到系统上了,启动saslauthd服务并让其随系统开机启动
端口测试
使用netstat命令测试是否开启SMTP的25端口、POP3的110端口及IMAP的143端口
可以看到所有端口都处于监听状态
验证Sendmail的SMTP认证功能
使用telnet 192.168.1.2 25,然后ehlo localhost
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 有这行显示说明sendmail开启了用户认证(smtp认证)
然后 telnet 192.168.1.2 110
这样我们就可以建立邮件用户了
建立用户的参数我就不详细说明了。
我们使用Windows客户端测试一下
我们从wqmsl2给wqmsl3发送测试邮件,如下:
在wqmsl3上收取邮件,如下:
二、下面我们实现第二个目标,实现不同域之间邮件发送
所有DNS,和mail.wqmsl.com服务器作为第二个目标的基础,我们只要搭建好第二台mail.lpmsl.com服务器即可
mail.lpmsl.com ——IP:192.168.1.3 主机名:mail.lpmsl.com
Mail.lpmsl.com服务器搭建方法和,mail.wqmsl.com服务器方法一样下面我们之间来测试就行了
我直接测试就行了(在客户端上一定要选上“我的服务器要求身份验证”,否则你的邮件会被本地服务器阻拦)
使用wqnsl2@wqmsl..com 给lpmsl2@lpmsl.com 、lpmsl3@lpmsl.com 发送邮件
下面看一下接收到的邮件
接收成功
这里有时候大家肯能会遇到一点问题,这个我们最后的时候总结一下遇到的问题
一、下面我们实现sendmail群发功能
要实现群发功能其实很简单的,只要修改/etc/aliases 这个文件就可以了,修改之后记得要用newaliases这个命令生成新的数据文件,下面来操作
这样,我使用wqmsl2@wqmsl.com发邮件给 jishu@lpmsl.com,这样lpmsl2@lpmsl.com和lpmsl3@lpmsl.com句能收到邮件,下面我们来测试哦
写邮件
Lpmsl2@lpmsl.com收邮件
Lpms3@lpmsl.com收邮件
最近比较忙,今天先说到这里,下次我们要说道sendmail的高级配置的。
本文转自 wqmsl 51CTO博客,原文链接:http://blog.51cto.com/wqmsl/316245,如需转载请自行联系原作者