mail电子电子邮件服务,在网络中算是非常普遍了。mail的重要性不多说,下面介绍一下关于mail的基本知识。
关于mail的协议:
1. 传输协议
smtp协议,即Simple Mail Transfer Protocol简单邮件传输协议,使用tcp25端口,弊端:使用明文传输,安全性不高。
2. 接收协议
pop协议,即Post Office Protocol邮局协议,2版本pop2使用tcp109端口,3版本pop3使用tcp110端口,可以实现脱机访问,使用明文传输。imap协议,Internet Mail Access Protocol交互式邮件存取协议,版本4,使用tcp143端口,是在线式的接受协议,同样使用明文传输,不够安全。
3. mime协议,Multipurpose Internet Mail Extensions多功能Internet邮件扩充协议,可以将二进制的文件转化为文本文件,这也是现在我们的邮箱可以传递图片,视频等媒体文件的原因。
因为这些邮件传输和接收协议都是使用明文传输,为了达到更高的安全性,将smtp,
pop,imap协议与ssl结合,分别形成了更加安全的协议,smtps,pops,imaps协议。
关于mail的一些术语
1. MUA,mail user agent,邮件的用户代理,相当于邮件接收发送的客户端。
windows下主要有:outlook、express,foxmail等;
linux下主要有:mutt、thunderbird、evolution等。
2. MTA,mail transfer agent,因特网邮件传送代理。顾名思义,传送服务器。
window下主要有:exchange(2003、2007),mdaemon,lotus notes
linux下主要有:sendmail,postfix,qmail
3. MAA,接收服务器,dovecot。
4. MDA,mail delivery agent,相当于邮件投递员。
当今mail服务有许多功能,必须完成,保护邮件服务的安全有效运行,比如:
1. 垃圾邮件方面,需要安装反垃圾邮件的应用,例如spamassian。
2. 病毒方面,查病毒使用clamav,但它只有查病毒的功能,并无杀病毒的功能,而且需要自行下载特征码库,杀毒也许就得使用另一款应用了。
mail服务是一个相当复杂的服务,我只着将sendmail的配置使用进行展示。
sendmail算是mail界大爷级的存在了,无比的古老,甚至在电子邮件协议发明之前就出现了,那是后用的是另一套协议,具体我就不知道了。相比于postfix和qmail它有不少缺点。qmail是一个数学家搞的,算法无比精妙,四度快效率相当高,但是因为后期支持不够,现在已经没落了。postfix是后起之秀,与sendmail相比有以下优点:1.更快2.兼容性好3.更强壮,个已在重负荷下继续工作。4.更灵活5.安全性更高。虽然sendmail没有后起之秀那么多的优点,但是由于sendmail发展的早积累了相当大的客户群体,现在学习sendmail还是相当有必要的。
需要安装的软件包
[root@localhost ~]# rpm -qa sendma*
sendmail-8.13.8-2.el5
sendmail-cf-8.13.8-2.el5
sendmail-devel-8.13.8-2.el5
sendmail-doc-8.13.8-2.el5
[root@localhost ~]# rpm -qa m4
m4-1.4.5-3.el5.1 //转换工具
通过配置本地yum我们可以使用本地yum进行安装
查看sendmail的可配置文档
[root@localhost ~]# rpm -qc sendmail
/etc/mail/Makefile
/etc/mail/access //中继
/etc/mail/domaintable
/etc/mail/helpfile
/etc/mail/local-host-names
/etc/mail/mailertable
/etc/mail/sendmail.cf //主配置文档
/etc/mail/sendmail.mc //我们当做主配置文档直接编辑的文件
/etc/mail/submit.cf
/etc/mail/submit.mc
/etc/mail/trusted-users
/etc/mail/virtusertable
/etc/pam.d/smtp.sendmail
/etc/rc.d/init.d/sendmail
/etc/sysconfig/sendmail
/usr/lib/sasl2/Sendmail.conf
/var/log/mail/statistics
sendmail的主配置文档sendmail.cf语法古怪,配置难度相当大,我们一般配置sendmai.mc,然后同转换工具m4将sendmail.mc转换为新的sendmail.cf文档。
实例:
北京上海两地公司需要mail服务,通过sendmail实现mail服务。
mail服务同时需要dns服务的支持,所以先安装配置dns。
[root@localhost ~]# rpm -qa bind
bind-9.3.3-7.el5
安装配置bind
[root@localhost Server]# rpm -ivh bind-9.3.3-7.el5.i386.rpm
[root@localhost Server]# rpm -ivh bind-chroot-9.3.3-7.el5.i386.rpm
[root@localhost Server]# rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# cp named.caching-nameserver.conf named.conf
[root@localhost etc]# vim named.conf
14 options {
15 listen-on port 53 { any; };
16 listen-on-v6 port 53 { ::1; };
17 directory "/var/named";
18 dump-file "/var/named/data/cache_dump.db";
19 statistics-file "/var/named/data/named_stats.txt";
20 memstatistics-file "/var/named/data/named_mem_stats.txt";
21 query-source port 53;
22 query-source-v6 port 53;
23 allow-query { any; };
24 allow-query-cache {any;};
25 forwarders { 192.168.10.2};
26 };
33 view localhost_resolver {
34 match-clients { any; };
35 match-destinations { any; };
36 recursion yes;
37 include "/etc/named.rfc1912.zones";
38 };