热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RHCE课程-RH253Linux服务器架设笔记七-Sendmail服务器配置

邮件服务器主要是DNS和主机环境,自身的配置很容易的!还有学习邮件邮件服务器一定要知道邮件服务器的原理
邮件服务器主要是DNS和主机环境,自身的配置很容易的!
还有学习邮件邮件服务器一定要知道邮件服务器的原理
这个需要下来后大家自己去研究下
Internet最基本的服务,也是最重要的服务之一,就是电子邮件服务。
电子邮件服务还具有快速、经济的特点。发一份电子邮件给远在他方的一位用户,通常来说,对方几分钟之内就能收到。如果选用传统邮件,发一封特快专递也需要至少一天的时间。
与实时信息交流,如电话相比,因为电子邮件是采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流
下面说说邮件服务系统的组成
虽然大家用了很久的e-mail,估计知道邮件服务器工作原理的也不多
只知道这边点发送,那边就能收到
其实电子邮件服务是一个相当复杂的服务
邮件用户代理(MUA )将信息传送给邮件传输代理(MTA )
邮件传输代理(MTA )决定信息送至目的地的路由,然后根据情况决定是否还需要将信息交给中介邮件传输代理
用户通过邮件投递代理(MDA )将邮件下载到用户的邮箱之中。
用户收到邮件
我们使用的foxmail和outlook只是一个MUA和MDA
一个邮件服务器扮演了两个角色,MTA和MDA
MTA是邮件服务器的主要功能,但是为了更好的协同工作所以一般也扮演了MDA
在Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是Sendmail服务器、 Postfix服务器和Qmail服务器
Sendmail是一个很优秀的邮件服务软件。几乎所有Linux的缺省配置中都内置了这个软件,只需要设置好操作系统,它就能立即运转起来。 
Postfix是一个由IBM资助下由Wietse Venema 负责开发的一个自由软件工程产物,它的目的就是为用户提供除Sendmail之外的邮件服务器选择
Qmail是有Dan Bernstein开发的可以自由下载邮件服务器软件,其第一个beta版本0.70.7发布于1996年1月24日,当前版本是2.3.3-2
说邮件服务器,有三个协议肯定要讲
SMTP,POP3,IMAP
SMTP:Simple Mail Transfer Protocol/简单邮件传送协议
定义邮件传送,基于TCP服务的应用层, 明文传送,SMTP协议使用25端口
SMTP协议命令
HELO 通报来访者地址
MAIL FROM:发件人地址
RCPT TO:收件人地址
DATA 输入正文内容,用单独的.为行结束
QUIT:连线结束
这个是直接使用SMTP协议发送邮件的命令
现在邮件服务器还没架设起来,等会我们来测试这几个命令吧
我们今天要讲讲sendmail邮件服务器的架设
sendmail是使用十分广泛的邮件提交工具(MSP),在邮件模型中承担着MTA及MDA的作用,支持多种类型的邮件地址寻址,支持虚拟域及虚拟用户,允许用户及主机伪装,提供在投递失败后自动重发等多种错误应对策略
sendmail服务简介
后台进程:sendmail
脚本:/etc/init.d/sendmail
使用端口:25(smtp)
所需RPM包:sendmail
配置文件:/etc/mail/sendmail.mc;/etc/mail/sendmail.cf;/etc/mail/access;/etc/mail/access.db;/etc/aliases;…..
注意:分隔的
/etc/mail/sendmail.cf是默认的sendmail主要配置文件。由于此配置文件相当复杂,通常情况下我们不会直接去修改此文件,而是通过编辑简单的宏文件-/etc/mail/sendmail.mc,并使用工具m4来生成sendmail.cf配置文件。
sendmail.mc宏应该定义了操作系统类型、文件位置、请求特征及邮件发送工具、用户列表等信息
在sendmail.mc默认设定以dnl开头的行表示注释,即在编译宏文件时不会写入配置文件中。
默认情况下,sendmail服务器只侦听本地的连接。因此要注释下面的设定,让服务器能够接收网络上的其它服务器发送过来的邮件。
好了,我们先开安装sendmail
yum install sendmail*
系统默认只装了sendmail的一些组件,需要自己重新安装
添加这三个包
image
/etc/mail 目录
image
sendmail的配置文件基本都在这里
access 文件是我们配置sendmail访问控制的文件
access.db是通过access文件生成的数据库
makefile 是M4 工具
sendmail.cf默认的sendmail主配置文件
sendmail.mc宏文件,我们要编译的就是这个文件
我们看看sendmail的主配置文件是什么东西,估计这些东西能看懂的也没几个
image
所以我们不修改cf文件,我们通过修改sendmail.mc文件用m4工具来生成cf文件
image
FEATURE (’accept_unresolvable_domains’ ) 
接受 无法反向解析的域来的邮件
image
FEATURE (’dnsbl’ ) 
支持根据dns 黑洞列表来拒绝垃圾邮件
FEATURE (’relay_based_on_MX’ ) 
自动接受DNS 中MX 记录来源的邮件转发
FEATURE (’blacklist_recipients’ ) 
允许使用黑名单查禁收件人
安装在linux系统上
image 
这行很重要,意思是服务器默认只监听本地端口
image
要让其他client使用我们的服务器,我们要把127.0.0.1改成0.0.0.0
image
image
改成你自己的域名
image
注释116或者只修改116行也就可以了,但是为了保证邮件服务器稳定,最好把域名也修改了
退出以后修改本目录的local-host-names目录
image
在这个文件中加入你IP地址能解析出来的所有域名
然后检查主机名字 ,邮件服务器的主机名字必须要规范FQDN形式
image
然后检查/etc/hosts文件
image
检查DNS设置/etc/resolv.conf
image
最后检查DNS是否有MX记录指向你的服务器
image
image
然后使用m4工具,生成配置文件
image
记住顺序要搞对,不然你就要重新安装服务器了
生成以后重新启动sendmail服务器
image
查看端口是否监听起来了
image
我们先使用mail工具发送邮件
image
subject是主题
回车后是内容,内容输入完成 使用 ctrl+d 结束
cc 是抄送,这里没有抄送,直接回车
然后我们切换到michael用户看看收到邮件没有,现在我们使用mail命令来收邮件
image
已经收到了
N后面是编号,输入编号就可以查看
image
刚才我们配置好了服务器,只是有了MTA功能
所以我们要安装dovecot
用yum和rpm安装都可以
image
然后启动dovecot
image
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用户
image
image
现在我们用root向michael用户发送一封邮件
image
我们用outlook去接收
image
接受成功
然后给root回复一封
image
image
下面我们再建立一个用户51cto,在给大家介绍一个linux下使用的邮件client工具mutt
[root@mail ~]# mutt -f pop://51cto@michael.com
输入密码
image
然后就进入了操作界面,功能上面都有解释
image
我们使用m 写封邮件给root
image
下面出现to,就是对方邮件地址
image
回车,出现Subject,主题
输入test
image
然后回车,进入vi,编辑正文
image
保存退出
image
输入y 发送
image
然后输入q,退出,更多功能大家自己开发
imap我给大家讲讲
制作邮件服务器的证书
cd /etc/pki/tls/certs 
image
make dovecot.pem
image
国家
image
省名
image
城市、公司、单位
image
vim /etc/dovecot.conf 
image
查收.pem
image
找到这两行,把刚才生成的文件放到这两个目录下
image
重新启动dovecot,然后使用mutt工具
使用imap协议
image
 image
查看证书是否被修改,正确就按o,不同样以就使用r
image
操作和刚才一样 ,就进入了mutt工具
image
证书这个RHCE考试考到的几率比较高,要考试的同学需要重视
我们把openwebmail给大家讲讲吧,这个企业用的多点
[url]http://www.openwebmail.org/[/url]
image
perl-Text-Iconv-1.7-2.el5.i386.rpm
[url]http://www.openwebmail.org/openwebmail/download/redhat/rpm/packages/rhel5/perl-Text-Iconv/[/url]
image
openwebmail-2.53-3.i386.rpm
[url]http://www.openwebmail.org/openwebmail/download/redhat/rpm/release/2.53/[/url]
image
image
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
image
image
image
image
image
image
无法建立 文件 /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*
image
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~
image
image
image
image
点pref
image
改成hotmail的风格,图标是简体中文
现在我们给michael发送一封邮件测试下
image
然后我们用outlook去收,能够收到
image
下面我们回复一封
image
这是内容
image
image
sendmail服务器的别名和用户控制
先是别名,就是给一个虚拟用户发邮件一个或多个用户能够收到,类似群发
vim /etc/aliases
前面是虚拟用户或者真实用户,右面是需要转发给的用户
image
给stuff用户发邮件,会自动转发给michael和51cto
我系统里面没有stuff这个用户,修改配置文件以后,使用newalias 更新别名数据库
image
成功
image
这个是51cto用户,他收到了
image
image
这个是michael用户,他也收到了
image
下一个功能是访问控制
访问控制时在RHCE考试最容易考到得地方
vim /etc/mail/access
image
access文件的格式:
IP/域名 设定值
也可以是用户
image
使用makemap 命令 生成access.db文件
image
重新启动sendmail服务器
image
不能发送了
image
image
直接被拒绝了,不能给那个用户发送邮件
image
然后我们取消拒绝试试
image
image
现在再试试
image
可以了哈~
image

推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Linux 服务器修改用户名
    Linux服务器修改用户名1、编辑名称vimetchostname2、保存编辑并退出wq3、重 ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
author-avatar
早起床的小鸟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有