Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103713462
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-27 10:04:11


 
邮件服务器的作用: 为一个域收信. 前提要有DNS服务要有MX记录.
、基本概念:
1、发信服务器:
       用来替用户把邮件发送到目的地的服务器,一般运行着Smtp服务器软件.(相关于邮局)
收信服务器:
       等待用户来收信的服务器,一般运行着Pop/imap服务器软件.(相关于家门口的邮箱)
2MTA(Mail Transfer Agent)
       邮件传输代理,发送邮件服务器软件的总称,:Sendmail ,Qmail ,Postfix,exim
注意:一个服务器上只能运行一种MTA.
 MUA(Mail User Agent)
       邮件用户代理.帮助用户收信的客户端软件的总称.Outlook Foxmail.
注意:一个客户端可以装多种MUA.
3Smtp服务器的工作原理:
              收到邮件------à[是自己的邮件吗?]---------à()放进本地信箱
                                                 |
                                                 |
                                          (不是)发送到目标域.
Sendmail服务器的安装
       1 安装(像这种安全要求较高的服务最好用最新的稳定版)
              A、下载网站:
              B、准备编译环境:
                     删除Sendmail以及Postfix等其它服务软件.
                     #rpm –e --nodeps sendmail
                     #rpm –e --odeps postfix
                   
#rpm –qa | grep sasl             ##查找相关的软件包
                     需要安装:cyrus-sasl, cyrus-sasl-devel, cyrus-sasl-plain
                    
                     需要DNS环境:  (现在因为是做实验,所以自己做服务器,而实际中不一定要自己做)
                      在区域文件中加入: (DNS配置见第二章笔记)
                                    
              @       IN      SOA     sina.com. root.sina.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
                      IN      NS      sina.com.
                       IN      MX 5    sina.com.  ##其中的5是优先级,在多台的情况下.
sina.com.       IN      A       192.168.0.254
mail           IN      A       192.168.0.254
www          IN      A       192.168.0.254
                     配置DNS,查看下:
                            #host  –t  MX  abc.com
                            #host  mail.abc.com
             
配置Sendmail
1 配置文件
       A /var/spool/mail(或者/var/mail)  ##收件箱的配置文件
       B /var/spool/mqueue                       ##邮件发不出去时存放的位置,壶30-60分钟再发
       C /etc/mail                                     ##主配置文件的文件夹
       D /etc/mail/access                         ##访问控件文件
       E /etc/aliases                                ##邮箱别名有配置文件
       F /etc/mail/local-host-name             ##Sendmail接收邮件主机名列表
       G /stc/mail/sendmail.cf                   ##Sendmail的主配置文件
       H /stc/mail/virtuSertable                  ##虚拟用户和域配置文件
2、在DNS配置好的前提下配置
       #cd /etc/mail
       #vi sendmail.mc
修改第85行:DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl #将127.0.0.1改为服务器的IP: 如192.168.0.254
修改第123行:LOCAL_DOMAIN(`Localhost.com')dnl
              Loclhost.com改为邮件服务器的域名
                         LOCAL_DOMAIN(`abc.com')dnl
生成Sendmail.cf
       #m4 sendmail.mc > sendmail.cf
或者#make –C /etc/mail        (注意:C是大写)
加入自己的主机名(abc.com)
#vi /etc/mail/local-host-names
访问控制:
#vi /etc/mail/access
Abc.com        REALY
生成数据库: #makemap hash access/db < access
重启Sendmail:  #killall -9 sendmail
                            #service sendmail start
                            #service sendmail restart 两次
3 、发信的过程:
       #telnet mail.sina.com 25
       >helo www
       >mail from :
       >rcpt to :
       >data
       >内容
       >.   ( 以点结束)
       #tail /var/mail/root         查信
4、区分真实用户和虚拟用户。
       # vi /etc/aliases
1)      别名:(前为虚拟用户,后为真实用户,一对一)
Renshibu : Jim
Caiwubu : Tom
       2)邮件列表.(前为虚拟用户,后为很多真实用户,一对多。可以实现群发)
              Benet      :  a,b,c,d
2)      转发:(两边都是真实的用户,即发给左边用户的都转给右边的。)
Abc  :  Doc
5、虚拟用户和主机。(用于一个服务器有多个域的情况)
       1DNS添加一个域,如:doc.com
       2)在/etc/mail/local-host-names 添加doc.com
       3) 在/etc/mail/access 中添加doc.com
       4) makemap hash : access.db < access
       5)重启服务.
6、设置pop3/IMAP  (作用:用于客户端存取远程服务器中信件的功能)
       #vi /etc/xinetd.d/ipop3    将中间的disable=yes  yes 改为no
       #vi /etc/xinetd.d/imap    改的也是一样的。。。
       service xinetd restart         重启服务。。
7、SMTP认证(用到SMTP认证就用不着Access了。)
       #vi /etc/sendmail.mc
       改:1)去掉43、44行的注释,一定要顶格,不能有空格。
       TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
2)85行加上注释dnl,格式和前面的一样。 加的dnl后有空格。。
Dnl  DAEMON_OPTIONS(`Port=smtp,Addr=192.168.0.254, Name=MTA')dnl
3 92行:DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
submission改成25
4)运行:#make –C /etc/mail
5)重启Sendmail服务.
6)验证:Outlook.
设置:工具——》帐户——》属性——》服务器。 选择我的服务器需要认证。进行设置。
8Postfix
       准备工作:先杀掉Sendmail 或其它邮件服务。。
       1vi /etc/postfix/main.cf
       A     改:69  去掉#    myhostnamed=abc.com
       B     76             去掉# mydomain = abc.com
       C     88             去掉#  myorigin = $mydomain
       D     97             加上#
              98             去掉#  inet_interfaces  
       E  157             去掉#号  mynetsorks_style=subnet  我的网络类型
       F     172            去掉#号 mynetworks =192.168.0.0/24  控制访问的网段。。
       2、开启或者重启服务。。
阅读(272) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~