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

Centos7.1搭建postfix邮件系统

学习一个服务的流程;1、此服务器的概述:名字,功能,特点,端口号&n

学习一个服务的流程;

                 1、此服务器的概述:名字,功能,特点,端口号

                 2、安装

                 3、配置文件的位置

                 4、服务启动关闭脚本,查看端口

                 5、此服务的使用方法

                 6、修改配置文件,实战举例

                 7、服务的安全

                 8、排错(从下到上,从内到外)

                 9、模拟错误<对服务的原理要精通>

 

背景介绍;

         

RHEL5默认,地位已失

      地位失守原因:

 第一个重要的缺点是它的安全性较差,这是因为当其作者Eric Allman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。

由于邮件系统需要处理的是外部发送来的各种各样的信息,甚至包含一些恶意数据,然而sendmail在大多数系统中都是以root身份运行,一旦出现问题,就会对系统安全造成严重影响。在这种情况下,要防止出现安全问题,仅仅依赖程序本身是不可取的,应该从系统结构出发,使程序拥有的特殊权限限制到最小。

第二个,使用Sendmail还会遇到的另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。

 

Qmail可以替代Sendmail

Qmail,为了解决sendmail的安全问题,整个系统结构需要重新设计。基本的原则是将系统划分为不同的模块,有负责接收外部邮件的,有管理缓冲目录中待发送的邮件队列的,有将邮件发送到远程服务器或本地用户的。Qmail就是按照这个原则进行的设计,它由多个不同功能的小程序组成,只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单一些,因此就可以达到较高的安全性。Qmail已经许多年没有更新了,用户已经习惯于通过第三方的插件及补丁来使qmail增加新的功能.

 

postfix 介绍:

 

另一种替换软件:Postfix  可以替代sendmail
postfix同样也是采用了模块化的方式,但与Qmail不同的是,Postfix使用了一个主控进程进行监控。Postfix在很多方面都考虑到了安全问题,它甚至不向root分发电子邮件,以避免以root身份读写文件或启动外部程序。考虑到它的作者Wietse Venema曾编写了著名的安全软件TcpWrapper,Postfix的安全性是非常值得信赖的。

 

Postfix的性能也非常不错,甚至在Qmail作者自己进行的测试中也表明,Postfix的性能和Qmail基本相当。postfix在性能上大约比sendmail快三倍

 

官网:http://www.postfix.org/

logo

 

作者:Wietse  Venema

作者介绍:http://www.porcupine.org/wietse/

 

前面我们说的都是邮件发送服务器

接下来我们看看邮件接收服务器

 

Dovecot: 邮件接收服务器:

Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。

POP / IMAP4 是 MUA 从邮件服务器中读取邮件时使用的协议。

POP3 是从邮件服务器中下载邮件存起来,IMAP 则是将邮件留在服务器端直接对邮件进行管理、操作。比POP3更先进。

由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。

IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”。

一个完整的邮件服务器由以下内容构成:

postfix(作为发送邮件服务器)+dovecot(作为接收邮件服务器)+mysql(作为数据库)

 

25 端口:SMTP协议。  发送邮件

 

是本地邮件传输协议,与SMTP类似,但不支持邮件队列(queue),主要应用于非广域网的邮件网关。

 

110端口:POP3协议

 

是本地邮件传输协议,与SMTP类似,但不支持邮件队列(queue),主要应用于非广域网的邮件网关。

 

143:IMAP

 

IMAP: (InternetMail Access Protocol Internet邮件访问协议) 。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端(例如Outlook)可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。

当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。两者之前的区别

POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。

而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。

 

邮件功能组件

MUA:邮件用户代理(Mail User Agent)   收邮件

MTA:邮件传输代理(Mail Transfer Agent)  发邮件

rhel5默认采用sendmail做为MTA,rhel6则采用postfix

MDA:邮件递送代理(Mail Delivery Agent)


 

名称

全名

基于协议

作用

常见软件

MUA

Mail User Agent 用户邮件代理

 

替用户收发邮件的

Outlook  Foxmail Thunderbird mutt

MTA

Mail Transfer Agent 邮件传输代理

SMTP

服务器中接受邮件

Sendmail qmail   postfix(IBM)   exchange

MDA

Mail Deliver Agent 邮件投递代理

 

把SMTP收到的邮件投递的用户邮箱

Procmail   maildrop

MRA

Mail Retrival Agent邮件检索代理

POP3/IMAP

帮用户去邮箱取邮件

dovecot  courier-imap cyrus-imap

 

工作原理图

 

 

 

 

搭建postfx服务端

 

[root@post-test ~]# hostname
postfix-server
[root@postfix-server ~]# rpm -qa |grep sendmail
[root@postfix-server ~]# yum remove sendmail -y 
 

 

[root@postfix-server ~]# alternatives --config mta

共有 1 个提供“mta”的程序。

  选项    命令
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix
 

按 Enter 保留当前选项[+],或者键入选项编号:  # 如果有多个输入数字进行选择

 

[root@postfix-server ~] alternatives --display mta  #查看所有详细的版本

[root@postfix-server ~] #yuminstall postfix –y  # postfix服务的主程序包,服务器端必须安装该

[root@postfix-server ~] #yuminstall dovecot –y  #接收邮件软件包。 安装在服务端用于测试收邮件。 安装客端用于收邮件。

[root@postfix-server ~] #vim  /etc/postfix/main.cf  

 

[root@postfix-server ~] # vim/var/log/maillog

 

[root@postfix-server ~]#service postfix start

 

[root@postfix-server ~]#lsof -i :25

COMMAND  PID USER  FD   TYPE DEVICE SIZE/OFF NODENAME

master  2336 root  12u  IPv4  13216     0t0  TCP localhost:smtp (LISTEN)

master  2336 root  13u  IPv6  13218     0t0  TCP localhost:smtp (LISTEN)

 

服务的使用方法:

      linux:

           发送:

            [root@postfix-server ~]# mail -s &#39;Postfix&#39;1684067131@qq.com

var cpro_id = "u6885494";

推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • Linux 服务器修改用户名
    Linux服务器修改用户名1、编辑名称vimetchostname2、保存编辑并退出wq3、重 ... [详细]
author-avatar
小白也坚强_177
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有