yum install sendmail*
系统默认只装了sendmail的一些组件,需要自己重新安装
添加这三个包
/etc/mail 目录
sendmail的配置文件基本都在这里
access 文件是我们配置sendmail访问控制的文件
access.db是通过access文件生成的数据库
makefile 是M4 工具
sendmail.cf默认的sendmail主配置文件
sendmail.mc宏文件,我们要编译的就是这个文件
我们看看sendmail的主配置文件是什么东西,估计这些东西能看懂的也没几个
所以我们不修改cf文件,我们通过修改sendmail.mc文件用m4工具来生成cf文件
FEATURE (’accept_unresolvable_domains’ )
接受 无法反向解析的域来的邮件
FEATURE (’dnsbl’ )
支持根据dns 黑洞列表来拒绝垃圾邮件
FEATURE (’relay_based_on_MX’ )
自动接受DNS 中MX 记录来源的邮件转发
FEATURE (’blacklist_recipients’ )
允许使用黑名单查禁收件人
安装在linux系统上
这行很重要,意思是服务器默认只监听本地端口
要让其他client使用我们的服务器,我们要把127.0.0.1改成0.0.0.0
改成你自己的域名
注释116或者只修改116行也就可以了,但是为了保证邮件服务器稳定,最好把域名也修改了
退出以后修改本目录的local-host-names目录
在这个文件中加入你IP地址能解析出来的所有域名
然后检查主机名字 ,邮件服务器的主机名字必须要规范FQDN形式
然后检查/etc/hosts文件
检查DNS设置/etc/resolv.conf
最后检查DNS是否有MX记录指向你的服务器
然后使用m4工具,生成配置文件
记住顺序要搞对,不然你就要重新安装服务器了
生成以后重新启动sendmail服务器
查看端口是否监听起来了
我们先使用mail工具发送邮件
subject是主题
回车后是内容,内容输入完成 使用 ctrl+d 结束
cc 是抄送,这里没有抄送,直接回车
然后我们切换到michael用户看看收到邮件没有,现在我们使用mail命令来收邮件
已经收到了
N后面是编号,输入编号就可以查看
刚才我们配置好了服务器,只是有了MTA功能
所以我们要安装dovecot
用yum和rpm安装都可以
然后启动dovecot
dovecot支持两个协议,一个是pop3,一个是imap
POP3:Post Office Protocol 3/邮局协议第三版
POP3协议适用于不能时时在线的邮件用户。支持客户在服务器上租用信箱,然后利用POP3协议向服务器请求下载,基于TCP/IP协议与客户端/服务端模型,POP3的认证与邮件传送都采用明文,使用110端口
IMAP:Internet Message Access Protocol/英特网信息存取协议
另一种从邮件服务器上获取邮件的协议,与POP3相比,支持在下载邮件前先行下载邮件头以预览邮件的主题来源,基于TCP/IP,使用143端口
现在我们在outlook上添加刚才的michael用户
现在我们用root向michael用户发送一封邮件
我们用outlook去接收
接受成功
然后给root回复一封
下面我们再建立一个用户51cto,在给大家介绍一个linux下使用的邮件client工具mutt
输入密码
然后就进入了操作界面,功能上面都有解释
我们使用m 写封邮件给root
下面出现to,就是对方邮件地址
回车,出现Subject,主题
输入test
然后回车,进入vi,编辑正文
保存退出
输入y 发送
然后输入q,退出,更多功能大家自己开发
imap我给大家讲讲
制作邮件服务器的证书
cd /etc/pki/tls/certs
make dovecot.pem
国家
省名
城市、公司、单位
vim /etc/dovecot.conf
查收.pem
找到这两行,把刚才生成的文件放到这两个目录下
重新启动dovecot,然后使用mutt工具
使用imap协议
查看证书是否被修改,正确就按o,不同样以就使用r
操作和刚才一样 ,就进入了mutt工具
证书这个RHCE考试考到的几率比较高,要考试的同学需要重视
我们把openwebmail给大家讲讲吧,这个企业用的多点
[url]http://www.openwebmail.org/[/url]
perl-Text-Iconv-1.7-2.el5.i386.rpm
[url]http://www.openwebmail.org/openwebmail/download/redhat/rpm/packages/rhel5/perl-Text-Iconv/[/url]
openwebmail-2.53-3.i386.rpm
[url]http://www.openwebmail.org/openwebmail/download/redhat/rpm/release/2.53/[/url]
rpm -ivh perl-Text-Iconv-1.7-2.el5.i386.rpm
rpm -ivh openwebmail-data-2.53-3.i386.rpm openwebmail-2.53-3.i386.rpm
无法建立 文件 /var/log/openwebmail.log! (Permission denied)
那应该是SELinux的问题, 不建议关闭SELinux
touch /var/log/openwebmail.log
chcon -u system_u /var/log/openwebmail.log
chcon -t httpd_sys_script_rw_t /var/log/openwebmail.log
chcon -t httpd_unconfined_script_exec_t /var/www/cgi-bin/openwebmail/openwebmail*
touch /var/log/openwebmail.log ==>这是产生一个log档
chcon -u system_u /var/log/openwebmail.log ==>这是修改文件使用者权限
chcon -t httpd_sys_script_rw_t /var/log/openwebmail.log ==>这是修改写入权限
chcon -t httpd_unconfined_script_exec_t /var/www/cgi-bin/openwebmail/openwebmail* ==>这是修改文件由什么套件专用
这些都是因为SELinux造成的,原本文件、目录权限只有使用文件前面那串(rwxrwxrwx),在使用SELinux后,会多出一种管理context type,context type会限制该目录、文件的使用原则,所以,在使用有安装SELinux时,常常会出现apach、ftp明明都设定好了,却还是不能使用,多半出问题,都是SELinux在做怪。
ok~
点pref
改成hotmail的风格,图标是简体中文
现在我们给michael发送一封邮件测试下
然后我们用outlook去收,能够收到
下面我们回复一封
这是内容
sendmail服务器的别名和用户控制
先是别名,就是给一个虚拟用户发邮件一个或多个用户能够收到,类似群发
vim /etc/aliases
前面是虚拟用户或者真实用户,右面是需要转发给的用户
给stuff用户发邮件,会自动转发给michael和51cto
我系统里面没有stuff这个用户,修改配置文件以后,使用newalias 更新别名数据库
成功
这个是51cto用户,他收到了
这个是michael用户,他也收到了
下一个功能是访问控制
访问控制时在RHCE考试最容易考到得地方
vim /etc/mail/access
access文件的格式:
IP/域名 设定值
也可以是用户
使用makemap 命令 生成access.db文件
重新启动sendmail服务器
不能发送了
直接被拒绝了,不能给那个用户发送邮件
然后我们取消拒绝试试
现在再试试
可以了哈~