邮件服务器的基本建立过程(sendmail)

第一章  邮件传送的基本理论

一、专用名词解释:

1、MUA:邮件用户代理,主要是收存在邮件服务器的电子邮件,和编写浏览电子邮件。如:outlook , kmail等。
2、MTA:邮件传递代理,接收MUA或其他MTA主机传来的邮件。如是本地邮件(本机范围内的邮件就保留),如不是则通过DNS转发到其他MTA主机上。
   MTA的详细功能:
   (1)接收邮件。将客户端或者其他MTA转发过来的邮件接收。
   (2)转发邮件。如果邮件的目的地是MTA本身的用户,就把邮件存到本身用户的mailbox(邮箱)中。如果不是本身用户,且该邮件符合使用MTA的规则权限,则把邮件转到别一台MTA主机(邮件服务器)。
   (3)响应用户的收件要求。当用户需要把邮件从本地MTA中收走时,通过POP协议和MTA邮件服务器协商,如果通过,则从服务器的mailbox中收走邮件。还可以通过IMAP协议直接到MTA服务器中操作存在服务器上的邮件。
3、MDA:邮件递送代理,是在MTA下的一个小程序。分析MTA所收到的邮件表头或内容等数据,从分析结果中决定这封邮件的去向及对邮件的处理。
        (1)转发实现:是本身用户的,还是其他MTA的。如是其他MTA的,则转发到其他MTA服务器上。所以MTA的转发功能是由MDA完成的。
        (2)邮件过滤:分析结果如发现是垃圾邮件则过滤此邮件。
        (3)自动回复:如离开位置,可设定自动回复。

4、mailbox:就是邮箱,就是邮件服务器为本身用户存放邮件的地方。即邮件把服务器帮本身用户把邮件会存到服务器的一个位置。

二、传递邮件的过程:

1、 mua先通过本地MTA的验证(如我们开outlook需要输入帐号和密码一样,这就是一种认证。当然首先需要在本地MTA上有用户的邮件帐号)
2、用户通过MUA编写邮件,邮件包括标头(收件人地址,发件人地址)、邮件内容。
3、邮件写好后MUA发送邮件给本地MTA服务器。
4、MTA收到邮件后,MDA对邮件进行分析。如果是垃圾邮件就直接过滤掉。
                                     如果是目的用户是本地MTA服务器本身用户的邮件就存入到用户的mailbox 中,等待用户收取。
                                     如果目的地是其他MTA的邮件,则MTA通过SMTP协议转发到目的MTA上。目的MTA把邮件存到目的用户的MAILBOX上,等待用户来下载。
5、目标用户收取邮件。两种协议两种方法,分别讲:

(1)MUA用pop3协议110端口连接到MTA上,并且输入帐号和密码来得到认证和授权。得到认证后,MTA会到用户的MAILBOX(/var/spool/mail/username)中把用户的邮件传给MUA软件。当所有邮件传完后,用户的MAILBOX中的邮件将会被删除。

(2)用户iamp协议连接到MTA上,连接上后会把mailbox里的邮件移到/home/username目录下。然后在里面可以编辑邮件,建文件夹等。即邮件还是在MTA服务器上,只是换了个地方。

两者的区别:一个是把邮件收下来到用户本地,一个是把邮件转到MTA服务器的另一地方,但还在MTA服务器上。

第二章  sendmail 的基本建立过程

一、sendmail需要的软件

1、sendmail主体软件
   2、sendmail-cf软件   配置工具
   3、m4  转换 sendmail.cf到sendmail.mf的工具
   4、dovecot 以支持用pop3和imap收发邮件。
   还可以装: sendmai-devel  sendmail开发工具包
              sendmail-doc    sendmail文档

二、重要的文件

1、/etc/mail/sendmail.mf   //sendmail的主配置文件,因为过于复杂不要手工更改这个配置文件,而是编辑sendmail.cf文件,然后用m4工具导入sendmail.mf配置文件中。
2、  /etc/mail/sendmail.cf   //用来辅助配置sendmail主配置文件的。编辑此文件后,用m4工具导入sendmail.mf主配置文件中
3、/etc/mail/local-hostnames
4、/etc/mail/access.db   //即此MTA服务器可以为哪些用户转发邮件到其他MTA。即哪些用户可以使用MTA的权限。不然就只能发本地用户了。设置完/etc/mail/access文件后,用makemap指令建立access.db数据库。
5、  /etc/aliase.db     //信箱别名。可为一个帐号建立多个别名。如我有一个帐号khp,而还想用另一个帐号plakhp收邮件时,我就在/etc/aliases中设置别名。让邮件服务器把寄给plakhp的所有邮件都直接寄给khp。而不用再重建一个plakhp的帐号了。修改完此文件后,用newaliases来建立数据库文件。

三、建立sendmail服务器的过程

1、建好服务器dns域名解析
2、配置sendmail.mc文件
3、用m4工具将sendmail.mc文件导入sendmail.cf文件
4、配置local-host-names文件
5、为客户建立用户帐号
6、重新启动服务使配置生效。

转载于:https://blog.51cto.com/kuangkuang/260008

sendmail邮件服务器的基本建立过程相关推荐

  1. 【实战】使用Java结合Sendmail邮件服务器+Quartz开源框架定时发邮件

    [实战]废话不多说,直接教你如何搭建以及使用,具体细节需要你自己细细品味. 环境:Centos7,window10 64bit 第一步: 搭建Sendmail邮件服务器.[不能在本地linux搭建,因 ...

  2. linux搭建sendmail邮件服务器,Linux系统Sendmail架设Mail服务器

    一.安装Sendmail 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查 ...

  3. 在RHEL-4下半小时搭建Sendmail邮件服务器(下)

    上一篇已经介绍了SMTP部分的相关搭建,现在来说说POP3或者IMAP的部分,只 有客户端跟邮件服务器同时支持SMTP和POP3/IMAP,才能实现完整的邮件收发功能. sendmail服务器不为MU ...

  4. sendmail 邮件服务器 套件,Fedora架设Sendmail邮件服务器

    一:安装必要的软件 (1)查询 rpm -qa sendmail m4 有结果显示证明已经安装了必要的软件,没有显示请使用yum install sendmail 命令进行安装(可以上网的情况下)或者 ...

  5. Sendmail邮件服务器搭建与配置笔记

    2019独角兽企业重金招聘Python工程师标准>>> DNS解析原理 DNS解析过程详解 sendmail服务器搭建 http://myhat.blog.51cto.com/391 ...

  6. sendmail邮件服务器支持账户名大小写

    在sendmail默认的配置下,如果有些用户账号名包含大写字母,比如San.Zhang,则他们都无法成功接收到电子邮件.因此,为使这些用户也能正常收发邮件,必须修改/etc/mail/sendmail ...

  7. Ubuntu+Sendmail+Dovecot+Openwebmail 邮件服务器搭建完全解决方案

    Linux下邮件系统的种类比较多, 但是相较于WIN系统下, 无论是sendmail, 还是qmail, postix来说, 配置过程都是极为艰难的,没错, 是艰难. 相信看到这一篇文章的童鞋早已经熟 ...

  8. Linux邮件服务器Postfix,qmaill,Sendmail之比拼

    几年以前,Linux环境下可以选择的可以免费邮件服务器软件只有Sendmail,但是由于Sendmail的缺陷,一些开发者先后开发了若干种其他的邮件服务器软件.当前,运行在Linux环境下免费的邮件服 ...

  9. 搭建邮件服务器过程,关于服务器:搭建邮件服务器过程非常简单

    通常在Linux搭建邮件服务器是须要装置很多软件和配置文件的,所以咱们能够应用一个开源邮件服务器软件来搭建的. 筹备一台服务器与零碎 云服务器或本地虚构的服务器都能够. 服务器须要能链接网络. 装置c ...

最新文章

  1. Linux进程通信中IPC对象——IPC_PRIVATE与ftok
  2. 遍历同辈节电的方法_家用节电小常识:一些行之有效的节能方法
  3. 微信小程序接入,https服务器搭建和调试
  4. idea网页预览功能_IDEA 2020.2 重磅发布,动画级新功能预览!
  5. AD RMS保护电子邮件安全
  6. mysql的隔离级别_MySQL的四种事务隔离级别
  7. 日期格式校验方法工具
  8. FCS编程之NetConnect对象
  9. H.266 参考软件VTM下载和安装
  10. nessus 漏洞扫描器
  11. 天翼杯大数据算法应用大赛感想
  12. 时空跳跃者的魔法(codevs3315)
  13. opencv 裁剪 java_OpenCV3 Java图像裁剪(Trimming Rect)
  14. 2021-09-16关于初学C的心路历程~
  15. 人工智能(14)安全
  16. Java零基础入门学习教程(纯干货知识点+视频资源)
  17. Mybatis常用标签详解
  18. FC金手指代码大全·持续更新-亲测可用-FC 经典游戏完整可用的金手指大全---持续更新,偶尔玩玩经典回味无穷,小时候不能通关的现在通通通关一遍
  19. 温度场有限容积法程序入门之六:后处理.花絮.Contour Plotter and 3D Function Grapher Together - the Applet and the Souce Co
  20. 机器人的灵魂(1)——单片机C程序开发

热门文章

  1. 详解在Visual Studio中使用git版本系统 [转]
  2. C# 使用Task执行异步操作
  3. Linux文件的复制、删除和移动命
  4. HTML ajax控件 目录树
  5. 你所不知的 CSS ::before 和 ::after 伪元素用法
  6. JS数组去重算法实现
  7. php模板技术 实例
  8. 非负矩阵分解推导(NMF)
  9. Ethercat解析(八)之主站运行阶段
  10. 还发愁项目经验吗?基于Netty实现分布式RPC框架[附完整代码]