Linux下mail服务器应用之邮件系统简介

邮件应用协议

Ü SMTP,:(Simple Mail Transmission Protocol)简单邮件传输协议,TCP 25端口,smtps

Ü POP3,(Post Office Protocol)第3版邮局协议,TCP 110端口,pops

Ü IMAP4,(Internet Mail Access Protocol)因特网消息访问协议,TCP 143端口,imaps

Ü Mine    MIME:(Multipurpose Internet Mail Extensions)多用途、多功能互联网邮件扩展:以文本的方式对二进制数据做重新编码,并能够实现以文本协议发送二进制数据。常用编码编码方式:base64.

商业邮件系统

Ü  Exchange:微软公司的重量级产品,与Windows系列软件产品相集成,协作性较好

Ü   Notes/Domino IBM 公司的商业电子邮件和办公协作软件产品,功能丰富、强大,提供跨平台支持
开源邮件系统

Ü  Sendmail:资格最古老,运行稳定,但安全性欠佳

Ü  Qmail:有更好的执行效率,配置、管理也很方便

Ü  Postfix:兼容Sendmail,采用模块化设计,在投递效率、稳定性、服务性能及安全性方面表现优秀

Sendmail:提供邮件发送服务(SMTP

Dovecot:提供邮件收取服务(POP3

Outlook Express:用于收发信的客户端工具

邮件系统角色

MUA (邮件用户代理)、 MTA (邮件传输代理)、 MDA (邮件分发代理 )、 MAA (邮件访问代理)

MUA (Mail User Agent): 邮件用户代理:就是用户与电子邮件系统的接口,在大多数情况下就是在邮件客户端上运行的程序。

Windows :outlook express foxmail
Lnux :Thunderbird(雷鸟) evolution
MTA (Mail Transfer Agent) :邮件传输代理:主要功能发送和接收邮件,同时向发件人报告邮件的传送情况。根据用途可将邮件服务器分为邮件服务器(SMTP 服务器)和接受邮件服务器(POP3/IMAP4 服务器)。

      windows:电子邮件服务 ,exchange server,mdaemon,lotus notes Linux:sendmail(50%),postfix,qmail

MDA (Mail Delivery Agent) :邮件投递代理:到本地邮局之后,将邮件放在用户的邮箱中。可以是MTA 下面的一个小程序,也可以单独是一个软件例如procmail,maildrop。

MAA:(Mail Access Agent)(接受服务器)邮件访问代理:代为MUA 提供访问message store 并接收邮件功能的一台IMAP/POP3 服务器,常用courrier-imap ,dovecot。

邮件安全:

1. 垃圾邮件 反垃圾邮件 SpamAssassin,认证(地址,账号),正向解析和反向
2. 病毒 clamav(查毒)特征代码库
3.sendmail  邮件呼叫器 mailscanner

SASL:(Simple Authorization Secure Layer)简单认证安全层协议,用于为没有提供认证功能的协议提供认证功能。软件包:cyus-sasl,进程:saslauthd。

整合STMP,clainav(扫描病毒),SpamAssassin(apache 提供,扫描垃圾邮件)的工具成称之为caller(调用器)。常见调用器Caller:mimedefang Mailscanner amavisd-new。

邮箱类型:

mbox 所有邮件放在同一个文件中,新邮件直接追加在文件后面。

maildir 建一个目录,每一封邮件被当成一个单独文件存放在目录里

redhat 默认使用mbox 方式,sendmail 默认使用mbox,postfix 默认两种都支持。

SMIME:提供端到端的邮件加密解密协议。

sendmail邮件系统

sendmail 所需软件包:
sendmail-8.13.8-2.el5.i386.rpm          # 必选,主程序包
sendmail-cf-8.13.8-2.el5.i386.rpm      # 必选,配置文件包
sendmail-devel-8.13.8-2.el5.i386.rpm
sendmail-doc-8.13.8-2.el5.i386.rpm

m4-1.4.5-3.el5.1.i386.rpm            #m4工具包

Sendmail 服务软件包

sendmail-8.13.8-2.el5.i386.rpmsendmail服务的主程序包,服务器端必须安装该软件包。 
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
接收邮件软件包,安装时需要注意安装顺序

Sendmail相关配置文档

sendmail.cfsendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf

sendmail.mcsendmail提供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

图形化webmin管理sendmail服务器:

使用webmin管理linux的sendmail服务

到webmin的官方网站下载webmin软件:

Webmin官网:http://www.webmin.com/

配置步骤:

我下载的是webmin-1.580-1.noarch.rpm我把它放到/root目录下了。

[root@mail ~]# rpm -ivh webmin-1.580-1.noarch.rpm

[root@mail ~]# service webmin start
[root@mail ~]# service webmin status
Webmin (pid 5388) is running
注:webmin默认端口为10000.

 其它资料:
①.linux中启动sendmail很慢的解决方法

linux 系统启动时,发现sendmail启动很慢,发现是/etc/hosts文件没有添另hostname名称.

1 、修改之前
127.0.0.1 localhost
2 、修改之后
127.0.0.1 localhost mailserver

重启系统,发现sendmail启动的进候变快了.

cannot open `/usr/share/sendmail-cf/m4/cf.m4

配置sendmail,生成配置文件时,出现以下错误:

[root@server mail]# m4 sendmail.mc >sendmail.cf

sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory

通过安装sendmail-cf解决

[root@server mail]# yum -y install sendmail-cf

③.问题:使用 命令 mail -s "sdf" ydds@abc.com </root/install.log 发不了邮件。

查看日志报错:/var/log/maillog

My unqualified host name (localhost) unknown; sleeping for retry

问题原因:sendmail配置文件有问题。

修改sendmail配置文件

#Dj$w.Foo.COM
Djlocalhost.localdomain ------------> 添加

重启sendmail