Postfix搭建邮件服务器

1. 邮件服务器基本原理
      MUA:邮件用户代理,供用户写信、读信、寄信
      MTA:邮件传输代理,接收、递送邮件
      MDA:邮件投递代理,投递本地邮件到适当的邮箱
      SMTP:简单邮件传输协议,寄信协议
      POP3:邮局协议第3版,用户把邮件从服务器上剪切回来,收信协议
      IMAP4:因特网消息访问协议第4版,用户把邮件从服务器上复制回来,收信协议
      邮箱:存放邮件的地方
      邮件:email
      收件人:邮件的接收者
      邮件别名:一个邮箱的其他名字,一个邮箱可以有多个名字
      邮件列表:群发功能
      邮件转发:发到user@163.com的邮件转到boos@163.com
-------------------------------------------------------------------------------------------------------------------            
2. Postfix简介
      2.1 Postfix是MTA
          高性能、安全、兼容性

      2.2 安装
          2.2.1 准备工作                                
                邮件服务器要有合法的计算机名,如:mail.abc.com,并需要到DNS服务器上进行域名注册,才能正常启动
        DNS配置参见DNS配置

                在abc.com区域文件中进行A记录和MX记录的设置
                abc.com.        IN  MX   5    mail.abc.com.
                mail.abc.com.   IN  A         192.168.1.111

          2.2.2 安装postfix
        rpm -ivh postfix-2.3.3-2.i386.rpm                  

       2.3 目录
           /etc/postfix/              Postfix配置文件目录
           /var/spool/mail            用户电子邮箱放置目录
           /var/spool/postfix         邮件队列目录
           /var/log/maillog           Postfix日志文件
----------------------------------------------------------------------------------------------------------------------
       2.4 配置
           1.主配置文件
             /etc/postfix/mail.cf
             
             主配置文件修改后用 postfix reload命令重新载入主配置文件

     
           2.邮件别名配置文件
            /etc/aliases                   
            /etc/aliases.db

            邮件别名配置文件修改后用postalias hash:/etc/aliases命令
            生成aliases.db数据库文件
-----------------------------------------------------------------------------------------------------------------
       2.5 主配置文件分析
             queue_directory = /var/spool/postfix      队列目录

             command_directory = /usr/sbin             程序目录

             daemon_directory = /usr/libexec/postfix   后台程序目录

             mail_owner = postfix                      进程运行所有者

             myhostname = mail.abc.com                 邮件主机名称

             mydomain = abc.com                        邮件主机域名

             myorigin = $mydomain                      设置发送邮件所使用的主机名或域名

             inet_interfaces = all                     监听端口

             mydestination = $myhostname, $mydomain    可以接受邮件的主机名或域名

             mynetworks = 192.168.1.0/24, 127.0.0.0/8  设置可以转发邮件的网络

             relay_domains = $mydestination            设置可以转发的邮件域名

             alias_maps = hash:/etc/aliases            指定用户别名定义的文件路径

             alias_database = hash:/etc/aliases        指定别名表数据库文件路径
 
        2.6 postfix收发信依据

            2.6.1 postfix帮助client发送信件:
                  当客户端来自信任的网络,符合 $mynetworks 的设定时
                  当客户端来自信任的主机,符合 $relay_domains的设定项目时
                  当客户端来自不信任的网域,但是去的目的地主机符合$relay_domains设定时

            2.6.2 什么情况下,postfix会将信件收下来
                  收件人主机名符合 $inet_interfaces 的设定
                  收件者主机名符合 $mydestination 的设定
                  收件人主机名符合 $virtual_maps 的设定
-------------------------------------------------------------------------------------------------------------
       2.7 测试main.cf文件

           2.7.1 显示main.cf里面设定的数据指令
                 # postconf -n

           2.7.2 检查main.cf语法错误
                 # postfix check    
                 若没有提示,则配置正确

           
       2.8 启动、停止、重启postfix服务
               # service postfix start/stop/restart
               # /etc/init.d/postfix start/stop/restart

           开机自动启动
               # chkconfig postfix on


       2.9 检测邮件服务是否启动成功
             # netstat -tl | grep smtp
               tcp     0    0 *:smtp         *:*                    LISTEN

   
---------------------------------------------------------------------------------------------------------------------------
2.10 命令行收发邮件测试
     发邮件:
           [root@mail ~]# telnet mail.abc.com 25         //链接服务器25号端口
           Trying 192.168.1.111...
           Connected to mail.abc.com (192.168.1.111).
           Escape character is '^]'.
           220 mail.abc.com ESMTP Postfix       //返回220表示连接成功

         * helo mail.abc.com                    //通过helo介绍自己
           250 mail.abc.com                     //返回250表示成功

         * mail from:user@abc.com               //mail from:发件人地址
           250 Ok

         * rcpt to:root@abc.com                 //rcpt to:收件人地址
           250 Ok

         * data                                 //data:开始输入邮件正文
           354 End data with <CR><LF>.<CR><LF>
           helo root                            //邮件正文部分
           helo root
           helo root
 
         * .                                    //以"."表示正文结束
           250 Ok: queued as 511DAA63DE

         * quit                                 //quit:退出
           221 Bye
           Connection closed by foreign host.

   收邮件: # mail

------------------------------------------------------------------------------------------------------------------
3.2 设置邮件别名和邮件群发功能

    3.2.2 确保postfix主配置文件里有这两句:
            alias_maps = hash:/etc/aliases
            alias_database = hash:/etc/aliases

    3.2.1 修改/etc/aliases文件
            admin:  root               //发给admin@abc.com的信,实际是发给root@abc.com
            group:  user1,user2        //发给group@abc.com的信,实际是发给user1@abc.com和user2@abc.com
            user1: root@abc.com       //发给user1@abc.com的信,实际转发给root@.abc.com
          
    3.2.2 生成aliases.db数据库
            # postalias hash:/etc/aliases

    3.2.3 验证
          1.给admin@abc.com发一封信,root应该收到信
             # echo "hello world" | mail admin@abc.com

             root用户使用mail命令收邮件
                
          2.给group@abc.com发一封信,user2应该收到信
              # echo "hello world" | mail group@abc.com
                
              使用mail命令,以user2的身份去收信
              # mail -u user2    
           
          3.给user1@abc.com发一封信,root用户应该收到信
              # echo "hello world" | mail user1@abc.com

              以user1身份收信没有收到
              # mail -u user1
              以root用户收信应该收到
              # mail          
-------------------------------------------------------------------------------------------------------------------           
4.POP和IMAP的实现,dovecot可以实现POP和IMAP服务器功能

    4.1 安装
        # rpm -ivh dovecot-1.0.7-2.el5.i386.rpm \
        >perl-DBI-1.52-1.fc6.i386.rpm \
        >mysql-5.0.45-7.el5.i386.rpm


    4.2 配置
        # vim /etc/dovecot.conf
                  protocols = imap imaps pop3 pop3s

    4.3 启动
                # service dovecot start
                # chkconfig --level 35 dovecot on
 
        4.4 验证是否启动
                # netstat -tl |grep imap
                  tcp      0     0 *:imaps      *:*            LISTEN
                  tcp      0     0 *:imap       *:*            LISTEN
                # netstat -tl |grep pop
                  tcp      0     0 *:pop3s      *:*            LISTEN
                  tcp      0     0 *:pop3       *:*            LISTEN

测试:在客户端使用Outlook客户端收发邮件
-----------------------------------------------------------------------------------------------------------------------
5. 安装配置Webmail

       5.1 安装apache服务
           rpm -ihv httpd-2.2.3-11.el5_1.3.i386.rpm
     
       5.2 安装Webmail和相关软件包

       squirrelmail-1.4.8-4.0.1.el5.noarch.rpm
       php-5.1.6-20.el5.i386.rpm
       php-cli-5.1.6-20.el5.i386.rpm
       php-common-5.1.6-20.el5.i386.rpm
       php-mbstring-5.1.6-20.el5.i386.rpm
           
       5.3 配置Squirrelmail
       # /usr/share/squirrelmail/config/conf.pl

       在  server setting 里把  domain  设为 mail.abc.com
       在  language  里把  default language  设为  zh_CN

       5.4 启动相关服务
             # service httpd start
       # service postfix restart
       # service dovecot restart

       5.5 访问Webmail的界面
           http://mail.abc.com/webmai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值