linux运维第二十讲

邮件的收发
1.收发邮件的前期准备
    此次试验需要
        虚拟机1:域名设置为mailwestos.westos.com  IP=172.25.254.25
        虚拟机2:域名设置为maillinux.linux.com    IP=172.25.254.26
    1.1 dns的设置:
      虚拟机1设置:
        1  hostnamectl set-hostname mailwestos.westos.com    ##设置主机名
        4  yum install bind -y            ##安装dns服务
        5  vim /etc/named.conf
            .....
            //    listen-on port 53 { 127.0.0.1; };    ##加//默认功能全开
                listen-on-v6 port 53 { ::1; };
                directory     "/var/named";
                dump-file     "/var/named/data/cache_dump.db";
                statistics-file "/var/named/data/named_stats.txt";
                memstatistics-file "/var/named/data/named_mem_stats.txt";
            //    allow-query     { localhost; };
    
            dnssec-validation no;        ##关闭外网连接
            .....
        8  cd /var/named/
       10  vim /etc/named.rfc1912.zones
            ....
            zone "westos.com" IN {
                type master;
                file "westos.com.zone";
                allow-update { none; };
            };
            zone "linux.com" IN {
                type master;
                file "linux.com.zone";
                allow-update { none; };
            ....
       12  cp -p named.localhost westos.com.zone
       13  vim westos.com.zone
            $TTL 1D
            @    IN SOA    dns.westos.com. root.westos.com. (
                                0    ; serial
                                1D    ; refresh
                                1H    ; retry
                                1W    ; expire
                                3H )    ; minimum
                    NS    dns.westos.com.
            dns        A    172.25.254.25
            westos.com.    MX 1    172.25.254.25.
       14  cp -p westos.com.zone linux.com.zone
       15  vim linux.com.zone
            $TTL 1D
            @    IN SOA    dns.linux.com. root.linux.com. (
                                0    ; serial
                                1D    ; refresh
                                1H    ; retry
                                1W    ; expire
                                3H )    ; minimum
                    NS    dns.linux.com.
            dns        A    172.25.254.25
            linux.com.    MX 1    172.25.254.26.
       16  systemctl restart named
       17  vim /etc/resolv.conf
            nameserver 172.25.254.25
       18  dig -t mx westos.com            ##该命令用于检测
       19  dig -t mx linux.com
       21  systemctl stop firewalld.service
    虚拟机2设置:
        systemctl stop firewalld
        vim /etc/resolve.conf
            nameserver 172.25.254.25
    1.2 25端口的设置
        虚拟机1,2都的设置:(只有设置了25端口才能,接收邮件)
            rpm -qa | grep postfix        ##查询是否安装该软件
                [root@jetslinux postfix]# rpm -qa | grep postfix(该命令由后期补充所以主机名与笔记不一致)
                postfix-2.10.1-6.el7.x86_64        ##存在该软件
                [root@jetslinux postfix]#
            vim /etc/postfix/main.cf
                 76 myhostname = mailwestos.westos.com    ##主机名
                 83 mydomain = westos.com        ##域名
                 99 myorigin = $mydomain
                113 inet_interfaces = all        ##此功能为接收从远程主机发送的本地邮件(默认只能接收本地用户)
                114 #inet_interfaces = $myhostname
                115 #inet_interfaces = $myhostname, localhost
                116 #inet_interfaces = localhost
                164 mydestination = $myhostname, $mydomain, localhost
               
    1.3 邮件群发或别名发送
        虚拟机2设置:
           56  vim /etc/aliases
                .....
                admin:          root    ##别名发送
                more:           :include:/etc/postfix/users    ##群发
                .....
           57  postalias /etc/aliases        ##编辑完上面文件,必须对其进行加密
           58  cd /etc/postfix/
           60  vim users
           61  mail more        ##群发
           63  mail -u student        ##查看用户student邮箱

           64  mail admin        ##别名发送




    1.4 域名转换(入站地址伪装)
        虚拟机2设置:
           68  vim /etc/postfix/virtual
                admin@qq.com (假域名)           root@linux.com(真域名)
                @qq.com                 @linux.com  
           69  postmap /etc/postfix/virtual     ##加密
           70  postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"    ##加密
           71  ls
              virtual.db
           72  mail admin@qq.com
           77  systemctl restart postfix.service
           78  mail student@qq.com
           79  mail -u student        ##查看邮箱student
        使用虚拟机1:
            mail admin@qq.com    ##模拟给qq发邮件
                
    1.5 出站地址伪装
        虚拟机2中的设置:
           32  vim /etc/postfix/generic
                root@linux.com(true)          root@qq.com     
           33  postmap /etc/postfix/generic
           34  postconf -d | grep generic
           35  postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
           36  systemctl restart postfix.service
           37  mail root@westos.com        ##模拟给westos回复邮件,可注意到恢复人是admin@qq.com
         
        虚拟机1中的设置:(这样设置可以发送邮件给qq域名)
               87  vim /etc/named.rfc1912.zones
                .....
                zone "qq.com" IN {
                type master;
                file "qq.com.zone";
                allow-update { none; };
                };
                .....
           89  cd /var/named/
           92  cp -p linux.com.zone qq.com.zone                
           93  vim qq.com.zone
                $TTL 1D
                @       IN SOA  dns.qq.com. root.qq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                        NS      dns.qq.com.
                dns             A       172.25.254.25
                qq.com.         MX 1    172.25.254.26.    
           94  systemctl restart named
           95  mail root@qq.com
【postqueue -f    再次立即发送所有队列中的邮件】
    1.6 远程收发邮件
          远端客户端:(真机做测试)
          869  yum install telnet -y        ##安装远程发送邮件
          870  systemctl start telnet
          871  telnet 172.25.254.26 25
                [root@foundation24 Desktop]# telnet 172.25.254.26 25
                Trying 172.25.254.26...
                Connected to 172.25.254.26.
                Escape character is '^]'.
                220 maillinux.linux.com ESMTP Postfix
                ehlo hello        ##闻讯语句,测试是否连通
                250-maillinux.linux.com
                250-PIPELINING
                250-SIZE 10240000
                250-VRFY
                250-ETRN
                250-ENHANCEDSTATUSCODES
                250-8BITMIME
                250 DSN
                mail from:root@qq.com    ##发件人
                250 2.1.0 Ok
                rcpt to:root@westos.com        ##收件人
                250 2.1.5 Ok
                data        ##输入
                354 End data with <CR><LF>.<CR><LF>
                woshi24        ##邮件内容
                .
                250 2.0.0 Ok: queued as 38DA017E856
                quit        ##退出
                221 2.0.0 Bye
          

    虚拟机2设置:
           41  yum install dovecot -y
           42  vim /etc/dovecot/dovecot.conf
                ......
                  24 protocols = imap pop3 lmtp
                  48 login_trusted_networks = 0.0.0.0/0
                  49 disable_plaintext_auth = no
                ......
           43  vim /etc/dovecot/conf.d/10-mail.conf
                .......
                mail_location = mbox:~/mail:INBOX=/var/mail/%u
                .......
           44  mail -u student        ##查看student用户有无邮件可供测试
           45  mail student@linux.com    ##自己给自己发送邮件
           46  mail -u student
           47  su - student
           48  systemctl restart dovecot    ##重启服务
            student用户下:
                    1  cd /home/student/
                    2  ls
                    3  mkdir mail/.imap
                    4  mkdir -p mail/.imap
                    5  ls
                    6  cd mail/
                    7  ls
                    8  cd .imap/
                    9  touch INBOX
        真机测试:
          872  yum install mutt -y
          876  mutt -f pop://student@172.25.254.26    ##可查看虚拟机2上的student邮箱

         



    雷鸟的安装:
        [root@foundation66 software]# yum install thunderbird-31.2.0-1.el7.x86_64.rpm -y
        新用户的建立:

        


        
2. 创建虚拟邮箱帐号
    2.1 安装数据库
        虚拟机2设置:
           56  yum install mariadb-server.x86_64 httpd php php-mysql -y
           57  systemctl start mariadb
           58  vim /etc/my.cnf
                .....
                skip-networking=1
                .....
           59  mysql_secure_installation         ##设置数据库登陆密码
           60  systemctl restart mariadb.service
           61  cd /var/www/html/
           62  yum install lftp -y        ##安装此命令,是为了从主机上获得数据库插件
           65  tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
           67  rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2
           69  mv phpMyAdmin-3.4.0-all-languages/ mysqladmin    ##将文件重命名,便于识记
           71  cd mysqladmin/
           72  cp config.sample.inc.php config.inc.php
           73  vim config.inc.php         ##里面的上引号内容可以随便填写
           74  systemctl restart httpd
           75  mysql -uroot -p
                MariaDB [(none)]> create user postfix@localhost identified by 'postfix';    ##创建用户

                MariaDB [(none)]> GRANT INSERT,SELECT on email.* to postfix@localhost;        ##给用户授权



    2.2 虚拟机2设置
           78  cd /etc/postfix/
           79  ls
           80  vim mysql-user.cf
            hosts = localhost
            user = postfix
            password = postfix
            dbname = email
            table = mailuser
            select_field = username
            where_field = username
           81  cp mysql-user.cf mysql-domain.cf
           82  vim mysql-domain.cf
            hosts = localhost
            user = postfix
            password = postfix
            dbname = email
            table = mailuser
            select_field = domain
            where_field = domain
           83  cp mysql-user.cf mysql-mailbox.cf
           84  vim mysql-mailbox.cf
            hosts = localhost
            user = postfix
            password = postfix
            dbname = email
            table = mailuser
            select_field = maildir
            where_field = username
           85  postmap -q "admin@redhat.com" mysql:/etc/postfix/mysql-user.cf
           86  postmap -q "admin@redhat.com" mysql:/etc/postfix/mysql-mailbox.cf
           87  postmap -q "redhat.com" mysql:/etc/postfix/mysql-domain.cf

       测试上述文件是否起作用:        
        【
            [root@maillinux postfix]# postmap -q "admin@redhat.com" mysql:/etc/postfix/mysql-user.cf
            admin@redhat.com
            [root@maillinux postfix]# postmap -q "admin@redhat.com" mysql:/etc/postfix/mysql-mailbox.cf
            /var/spool/redhat.co
            [root@maillinux postfix]# postmap -q "redhat.com" mysql:/etc/postfix/mysql-domain.cf
            redhat.com
        】
    2.3 远程发送
        虚拟机2设置:
            【   
                cd /etc/skel/
                3  mkdir -p mail/.imap
                4  ls
                5  cd mail/
                6  ls
                7  cd .imap/
                8  touch INBOX
            】    ##这些操作保证新建用户可以自动建立/home/username/mail
    
               14  vim /etc/postfix/main.cf
                    删掉之前建立的最后两行
               15  postconf -e "virtual_mailbox_base = /home/vmail"
               16  postconf -e "virtual_gid_maps = static:888"
               17  postconf -e "virtual_uid_maps = static:888"
               18  postconf -e "virtual_alias_maps = mysql:/etc/postfix/mysql-user.cf"
               19  postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/mysql-domain.cf"
               20  postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mysql-mailbox.cf"
               22  mail admin@redhat.com
               24  cd redhat.com/admin/new

               31  cat 1489223524.Vfd01I280f499M802004.maillinux.linux.com



        2.4 远程接收邮件

        虚拟机2设置:
               23  yum install dovecot-mysql.x86_64 -y
               24  vim /etc/dovecot/dovecot.conf
                    .....
                     48 login_trusted_networks = 0.0.0.0/0    ##允许访问网络地址
                      49 disable_plaintext_auth = no        ##开启明文认证
                    ......
               25  vim /etc/dovecot/conf.d/10-auth.conf
                    123 !include auth-sql.conf.ext        ##开启数据库认证
               26  cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
               27  cd /etc/dovecot/
               29  vim dovecot-sql.conf.ext     (该文件内容,关于数据库信息,以自己建立的数据库信息为准)
                     32 driver = mysql
                     71 connect = host=localhost dbname=email(自己建立的数据库名字) user=postfix(上述新建用户) password=postfix
                     78 default_pass_scheme = PLAIN        ##加密方式
                    107 password_query = \
                    108   SELECT username, domain, password \
                    109   FROM mailuser WHERE username = '%u' AND domain = '%d'
                    125    user_query = SELECT maildir, 888 AS uid, 888 AS gid FROM mailuser WHERE username = '%u'

               30  vim /etc/dovecot/conf.d/10-mail.conf
                     30 mail_location = maildir:/home/vmail/%d/%n
               31  systemctl start dovecot
    
        真机测试登陆:
                [root@foundation24 Desktop]# telnet 172.25.254.26 110
                Trying 172.25.254.26...
                Connected to 172.25.254.26.
                Escape character is '^]'.
                +OK [XCLIENT] Dovecot ready.
                user admin@redhat.com
                +OK
                pass 123
                +OK Logged in.
        而后在雷鸟上登陆创建用户,查收邮件

        在数据库中新加入用户信息,而后在雷鸟上创建该用户,在数据库中增添用户,切忌不可与本机存在的域名重复






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值