Linux初級運維(二十五)——郵件服務器系統知識及服務器搭建

一、基礎原理

    1、郵件服務器是一種用來負責電子郵件收發管理的設備。比網絡上免費的郵箱更加安全和高效,因此一直是企業公司的必備設備。

    簡單郵件傳輸協議(SMTP)是因特網電子郵件系統首要的應用層協議。它使用由TCP提供的可靠的數據傳輸服務把郵件消息從發信人的郵件服務器傳送到收信人的郵件服務器。跟大多數應用層協議一樣,SMTP也存在兩個端:在發信人的郵件服務器上執行的客戶端和在收信人的郵件服務器上執行的服務器端。SMTP的客戶端和服務器端同時運行在每個郵件服務器上。當一個郵件服務器在向其他郵件服務器發送郵件消息時,它是作爲SMTP客戶在運行。當一個郵件服務器從其他郵件服務器接收郵件消息時,它是作爲SMTP服務器在運行。

        POP3:Post Office Protocol  

        IMAP4: Internet Mail Access Protocol

        SASL:Simple Authintication Secure Layer ,簡單認證安全層

        MTA:郵件傳輸代理,SMTP服務器

        LDAP:Lightweight Directory Access Protocol

    2、MTA:郵件傳輸代理,SMTP服務器

        sendmail,UUCP

            單體結構,SUID,配置文件語法(m4編寫)

        qmail

        postfix:模塊化設計,安全,跟sendmail兼容,效率高

        exim:MTA

        Exchange(Windows,異步消息協作平臺)

    3、MDA:

            procmail

            maildrop

    4、MRA:

        pop3  ,imap4

        cyrus-imap

        dovecot

    5、MUA:

        outlook express ,outlook

        foxmail

        thunderbird

        evolution

        mutt(文本界面)

    6、webmail:

        openwebmail

        squirrelmail

        extmail(extman)

二、搭建郵件服務器的部署軟件

        postfix +SASL  (courier-authlib) + mysql     發送郵件

        Dovecot + mysql    接受郵件

        extamil+ extman+http    網頁顯示

    1、postfix的配置文件

        postfix模塊化:

            master: /etc/postfix/master.cf

            mail:/etc/postfix/main.cf

                參數=值 :參數必須寫在行的絕對行首,以空白開頭的行被認爲是上一行的延續

    2、postconf:配置postfix

            -d:顯示默認的配置

            -n:修改了得配置

            -m:顯示支持的查找表類型

            -A:顯示支持的SASL客戶端插件類型

            -e PARMATER-VALUE: 更改某參數配置信息,並保存至main.cf文件中

    3、smtp狀態碼:

        1XX:純信息

        2XX:正確

        3XX:上一步操作尚未完成,需要繼續補充

        4XX:暫時性錯誤

        5XX:永久性錯誤

    4、smtp協議命令:

            hello (smtp協議)

            ehllo(esmtp協議)

            mail from

            rcpt to

三、實驗環境

    1、硬件環境:

        Linux服務器一臺,IP地址:172.28.5.159

        Window系統一臺,做測試使用,需要安裝outlook,並與服務器在同一個局域網內

    2、服務器操作系統

        image.png

四、搭建郵件服務器內容如下:

    1、搭建DNS服務器

    2、搭建postfix服務器及普通發信

    3、普通收信

    4、認證收信

    5、squirrelmail收發郵件 (搭建網頁收發郵件)

    6、郵件羣發功能配置

    7、郵件發送容量大小配置

    8、通過配置用戶磁盤配額實現限制用戶郵箱空間

五、配置步驟

    1、搭建DNS服務器

        (1)安裝DNS服務

        yum install bind -y

        image.png

        (2)修改主配置文件

        vim /etc/named.conf

        image.png

        (3)檢查語法錯誤

            named-checkconf 

        (4)配置區域配置文件

            vim /etc/named.rfc1912.zones

        在文件末尾加入以下內容:

            image.png

        檢查語法錯誤:  named-checkconf 

        (5)區域數據文件配置

        image.png

        複製文件添加-P 表示複製過來的文件保持權限不變。

        vim melvin1.com.zone

        image.png

        (6)創建反向區域數據配置文件

        cp -p named.localhost melvin1.com.local

        image.png

        vim melvin1.com.local

        image.png

        named-checkconf          檢查語法錯誤

        (7)重啓服務,進行驗證

        image.png

        (8)設置服務器域名並進行解析驗證

        vim /etc/resolv.conf

        image.png

        解析驗證:

        image.png

    2、搭建postfix並配置基本發信功能

        (1)驗證是否支持cyrus dovecot功能

        postconf -a

        image.png

        (若postfix已安裝好,則會支持這兩個功能,若不支持,表示postfix未安裝好;CentOS 7開始默認系統自帶postfix。)

        systemctl start postfix         # 啓動postfix服務

        (2)配置主配置文件

        vim /etc/postfix/main.cf

        修改以下內容信息:

        myhostname=mail.melvin1.com   郵件服務器的主機名

        mydomain=melvin1.com      郵件域

        myorigin=$mydomain      往外發郵件的郵件域

        inet_interfaces=172.28.5.159, 127.0.0.1   監聽的網卡 (注意,兩個地址之間有空格)

        mydestination=$myhostname, $mydomain    服務的對象

        home_mailbox=maildir/        郵件存放的目錄

        保存以上的修改並退出。

        檢查語法是否正確:  postfix check

        (3)重啓服務並查看postfix

        image.png

        (4)增加郵件測試賬號

        image.png

        (5)連接服務器25號端口進行簡單發信測試

        [root@localhost ~]# telnet mail.melvin1.com 25

        Trying 172.28.5.159...      連接成功

        Connected to mail.melvin1.com.

        Escape character is '^]'.

        220 mail.melvin1.com ESMTP Postfix

        helo mail.melvin1.com        聲明本機的主機

        250 mail.melvin1.com         

        mail from:[email protected]    聲明發件人地址

        250 2.1.0 Ok

        rcpt to:[email protected]    聲明收件人地址

        250 2.1.5 Ok

        data        寫正文

        354 End data with <CR><LF>.<CR><LF>

        I am melvin !!!

        .     正文結束標記

        quit      退出

        image.png

    3、收信驗證

    方法一: 搭建dovecot 提供收信服務

        yum install -y dovecot         安裝dovecot軟件

        image.png

        修改配置文件:vim /etc/dovecot/dovecot.conf

        protocols = imap pop3  lmtp

        listen = *,::

        !include conf.d/*.conf

        在最後添加以下信息:

        ssl = no

        disable_plaintext_auth = no

        mail_location = maildir:~/Maildir

    然後重啓 dovecot 服務: systemctl restart dovecot

        image.png

        收信驗證:

        telnet mail.melvin1.com 110

        user tom    //收件人

        pass  password    //郵箱密碼

        list      //列表查看郵件

        retr  1   //   讀取編號爲1的郵件

        quit   //  退出郵箱

        image.png

    方法二: 使用win系統上的郵箱客戶端系統進行收信驗證

        打開foxmail程序,更改賬戶配置。

        image.png

    4、發信認證部分:

        (1)編輯認證文件:

        yum install -y cyrus-sasl*     安裝cyrus-sasl 軟件

        vim /etc/sasl2/smtpd.conf 

        image.png

        vim /etc/sysconfig/saslauthd

        image.pngo

        啓動服務:

        systemctl start saslauthd

        systemctl enable saslauthd

        (2)編輯postfix主配置文件,添加以下信息:

        vim /etc/postfix/main.cf

        image.png

        image.png

        添加完成後,檢查語法錯誤:  postfix check  

        重啓postfix服務:  systemctl restart postfix

        (3)測試普通發信驗證

        image.png

        (4)將郵件用戶名和密碼生成密文

        image.png

        (5)字符終端測試認證發信:

        telnet mail.melvin1.com 25

        ehlo mail.melvin1.com       //注意是ehlo  不是helo

        auth login      //認證登錄

        bWVsdmlu     加密用戶名

        cGFzc3cwcmQ=      加密的密碼

        image.png

        發送成功,能夠往外發送郵件了。

    5、配置squirrelmai收發郵件(小松鼠網頁瀏覽郵箱)

        (1)安裝httpd, mariadb, php 服務       

   yum install -y httpd

   yum install -y mariadb-server mariadb

   yum install -y php

   yum install -y php-mysql

    yum install -y php-gd

    yum install -y libjpeg*

   yum install -y php-ldap

   yum install -y php-odbc

   yum install -y php-pear

    yum install -y php-xml

    yum install -y php-xmlrpc

    yum install -y php-mhash

        (2)編輯Apache 主配置文件

        vim /etc/httpd/conf/httpd.conf   修改內容如下:

        ServerName mail.melvin1.com

        DirectoryIndex index.html   index.php

        (3)編輯PHP主配置文件

        vim /etc/php.ini     修改內容如下:

        date.timezone=PRC

        (4)啓動服務並查看端口

        image.png

        (5)網頁測試,瀏覽器輸入: 172.28.5.159

        image.png        (6)、編輯mysql數據庫安全配置

        image.png

        image.png

        (7)編輯php測試文件

        vim /var/www/html/index.php 

        image.png

        image.png

        (8)編輯mysql數據庫

        進入數據庫,建立授權賬號

        mysql -u root -p  然後輸入數據庫密碼

        image.png

        創建數據庫等相關信息:

        image.png

        測試數據庫工作是否正常:

        vim /var/www/html/index.php

        image.png

        瀏覽器輸入地址,進行測試:

        image.png

        (9)下載小松鼠網頁郵箱安裝包:

        下載網址:http://www.squirrelmail.org/download.php

        image.png

        上傳至郵件服務器:

        image.png

        (10)解壓:

        tar xzvf squirrelmail-webmail-1.4.22.tar.gz    解壓安裝包

        tar xzvf all_locales-1.4.18-20090526.tar.gz -C squirrelmail-webmail-1.4.22    將漢化包解壓到安裝包文件裏

        cp -rv squirrelmail-webmail-1.4.22 /var/www/html/mail      複製文件到http默認目錄下

        cd /var/www/html/mail/

        ls

        image.png

        (11)創建網頁郵箱默認配置文件

        image.png

        (12)編輯配置文件:

        vim config.php,  修改以下內容:

        image.png

        (13)網頁驗證測試: 172.28.5.159/mail

        image.png

                image.png

     6、郵件羣發配置

        (1)設置郵件組

        vim /etc/aliases    添加以下信息:

        student:          melvin,tom

        保存退出後,生成新的hash數據庫文件:newaliases

        (2)重啓postfix服務

        systemctl restart postfix

        (3)添加lucy郵件測試用戶

        image.png

        (4)使用客戶端用lucy用戶給student組發送郵件

        image.png

        

        

        

        

        

    

        

            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章