邮件服务器的搭建

简述:

电子邮件(electronic mail,简称E-mail)又称电子信箱,它是种用电子手段提供信息交换的通信方式。是Internet应用最广的服务:通过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。

配置电子邮件两种服务                     

利用电子邮件服务,您可以在计算机中安装一些组件并将该计算机配置为电子邮件服务器。电子邮件服务包括邮局协议 3 (POP3) 服务以及简单邮件传输协议 (SMTP) 服务,分别用于接收和传送电子邮件。为了向用户提供电子邮件服务(如发送和接收电子邮件),管理员可以在服务器上创建一些邮箱。

POP3

POP3 服务是一种用来接收电子邮件的电子邮件服务。管理员可以使用 POP3 服务,在邮件服务器上存储和管理电子邮件帐户。在邮件服务器中安装了 POP3 服务后,用户即可使用支持 POP3 协议的电子邮件客户端(如 Outlook Outlook Express)连接到邮件服务器,并将电子邮件接收到其本地计算机中。POP3 服务与用来发送外发电子邮件的 SMTP 服务结合使用。

SMTP

SMTP 控制将电子邮件经由组织或 Internet 向目标服务器传送的方式。SMTP 在服务器之间接收和发送电子邮件。在安装 POP3 服务时,就会自动在计算机中安装 SMTP 服务以允许用户发送外发电子邮件。当使用 POP3 服务创建域时,还会将该域添加到 SMTP 服务中,以允许该域中的邮箱发送外发电子邮件。邮件服务器中的 SMTP 服务接收传入的邮件,并将该电子邮件传送到邮件存储中。 

案例一:简单邮件服务器的实现:

1.   安装sendmail (实现邮件的传输)

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

2.编辑相关的配置文件:

位于/etc/mail 下有三个要编辑的文件:sendmail.mc  access  local-host-names

[root@mail ~]# cd /etc/mail

[root@mail ~]# vim +116 sendmail.mc     


可以向任意的地址传送邮件

[root@mail mail]# vim access 

创建域test.com (xh由于创建了域,所以应该提前搭建DNS服务器,不过本实验比较简单,只在一台机器上测试的,所以暂时不需要搭建DNS服务器)

[root@mail mail]# vim local-host-names 

启动sendmail

[root@mail mail]#service sendmail start

 

.安装dovecot  (实现邮件的接受)

[root@mail mail]# yum install -y dovecot

Dovecot的配置文件为:/etc/dovecot.conf, 不过暂时可不对其作编辑,保持默认就可以了。

最后启动dovecot

[ root@mail mail]#service dovecot start

               

三.验证:        

1.创建两个用户:user1 ,user2  密码都设为123 (仅以创建user1为例)

[root@mail mail]# useradd user1

[root@mail mail]# passwd user1

Changing password for user user1.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

2.   user1user2 发送邮件

   user2接收邮件:

user2 成功收到user1发送的信件!!

 

案例二:安全的邮件服务器

由于sendmail 是以明文的形式来传递数据的,所以存在着非常严重的安全隐患,因此需要设置一定的安全机制来确保信息的安全传输.

Sendmail是支持starttls发送加密的,因此需要证书服务器来实现证书的签发

 

一.搭建DNS服务器:

安装相关的包:

[root@mail ~]# yum install -y bind bind-chroot caching-nameserver

编辑相对应的文件:

[root@mail etc]# cp -p named.caching-nameserver.conf named.conf

[root@mail etc]#vim named.conf

     [root@mail etc]# vim named.rfc1912.zones

[root@mail etc]# cd  /var/named/chroot/var/named/

[root@mail named]# cp -p localhost.zone test.com.zone

[root@mail named]#vim  test.com.zone 

            

二.首先搭建CA服务器

[root@mail ~]# cd /etc/pki/

[root@mail pki]# vim tls/openssl.cnf 

[root@mail pki]# cd CA/  

[root@mail CA]# mkdir certs crl newcerts

[root@mail CA]# touch serial index.txt

[root@mail CA]# echo "01" >serial   

 [root@mail CA]# chmod 600 private/*

 [root@mail CA]# openssl genrsa 1024 >private/cakey.pem

 Generating RSA private key, 1024 bit long modulus

............................++++++

.++++++

e is 65537 (0x10001)

[root@mail CA]# openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3650

图:

2. sendmail域证书的结合使用

    [root@mail mail]#mkdir certs

   [root@mail mail]#cd certs       

   [root@mail certs]#openssl  genrsa 1024 > Sendmail.key

  Generating RSA private key, 1024 bit long modulus

....................++++++

........++++++

e is 65537 (0x10001)

 

[root@mail certs]#openssl  req  –new  –key  Sendmail.key  –out  Sendmail.csr

 

[root@mail certs]# openssl ca -in sendmail.csr -out sendmail.cert                   
 直接签发就可以了

[root@mail certs]# pwd

/etc/mail/certs

[root@mail certs]# cp /etc/pki/CA/cacert.pem  ./

[root@mail certs]# chmod 600 *

[root@mail certs]# cd ..

[root@mail mail]# vim Sendmail.mc 

3.Sendmail测试  

[root@mail mail]# telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to mail.bj.com (127.0.0.1).

Escape character is '^]'.

220 mail.bj.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 20 Mar 2012 11:30:14 +0800

EHLO 127.0.0.1

250-mail.bj.com Hello mail.bj.com [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-STARTTLS 证明已经开启

250-DELIVERBY

250 HELP          

待续!!