postfix+mysql

實驗一:
postfix and mysql
環境: selinux 須要是關閉的。iptables關閉的
首先,須要安裝圖形界面的建立數據庫
假設你當前的機子IP爲: 192.168.0.58
步驟:
(1)在192.168.0.58機子上:
   yum install php php-server mysql mysql-server php-mysql  -y
(2)  cd /var/www/html
 lftp 192.168.0.254
 cd pub/docs
 get phpMyAdmin-2.11.3-all-languages.tar.bz2
 (此處是在所在環境服務器上下載,也能夠去網站上下載更高的版本)
  tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2
  mv  phpMyAdmin-2.11.3-all-languages   myadmin
  cd myadmin
  cp config.sample.inc.php  config.inc.php
  (config.inc.php是配置文件,須要修改裏面的東西,上面更名字的是將名字改短那樣你進去的時候不至於寫那麼長的名字了)
  vi config.inc.php
  $cfg['blowfish_secret'] = 'sushan'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
  (3)在192.168.0.58機子上將appache打開:
    /etc/init.d/httpd start
   (4)打開瀏覽器輸入網址:
     http://192,168.0.58/myadmin
    而後以root省份密碼爲空的方式登陸服務器,
  (5)登陸以後,首先你建立一個數據庫sushan,而後建立一個表sushanshan,設置四個字段。
   username,password,domain,mailbox,假設你設置的類型全爲:VARCHAR,長度爲:25,25,15,30(僅供參考)
    而後插入:        
            username : test@westos.org
           password :   sushan

            domain    : westos.org
            mailbox   :  westos.org/sushan/

   而後執行以後。(注意啦注意啦。。。。在這裏的westos.org/sushan/後面的‘ / ’ 千萬省不得啊。。。不然。。。。沒法建立。)
 (6)postconf -n查看生效的postfix選項。postfix -d 顯示默認的選項
    
     postconf -m
   要顯示 mysql 才能將postfix和mysql結合。

     useradd -u 600 vmail
    postfix  -e  inet_interfaces = all
    postfix  -e  virtual_alias_maps=mysql:/etc/postfix/mysql-alias.cf
    postfix  -e  virtual_gid_maps=static:600
    postfix  -e  virtual_mailbox_base=/home/vmail/
    postfix  -e  virtual_mailbox_domains=mysql:/etc/postfix/mysql-domains.cf
       postfix  -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-mailboxs.cf
    postfix  -e  virtual_uid_maps=static:600

     編輯完以後:
    /etc/init.d/postfix restart
     (7) mysql
mysql> grant all on sushan.* to vmail@localhost  identified by 'vmail';
    flush privileges;

 ( grant all on sushan.* to vmail@localhost  identified by 'vmail';對sushan這個數據庫裏面的全部表擁有因此的全限,這個用戶名字爲vmail,登陸本地,登陸時候的密碼爲 vmail
   測試: mysql -uroot -pvmail  sushan (寫上數據庫名字就會直接進入的是數據庫sushan)查看是否能夠登陸的進去。來查看以上設置是否生效。
    (8)
     vi /etc/postfix/mysql-alias.cf
   
    hosts=localhost(默認是本地)
    user = vmail(在受權用戶的時候設置的虛擬用戶名稱)
    password = vmail(這個是在受權mysql用戶的時候設置的進入密碼)
    dbname = sushan(數據庫的名字)
    table = sushanshan(數據庫中表的名字)
    select_field = username
    where_field = username

 
      vi /etc/postfix/mysql-domains.cf
   
         hosts=localhost(默認是本地)
    user = vmail(在受權用戶的時候設置的虛擬用戶名稱)
    password = vmail(這個是在受權mysql用戶的時候設置的進入密碼)
    dbname = sushan(數據庫的名字)
    table = sushanshan(數據庫中表的名字)
    select_field = domain
    where_field = domain


      vi /etc/postfix/mysql-mailboxs.cf
   
         hosts=localhost(默認是本地)
    user = vmail(在受權用戶的時候設置的虛擬用戶名稱)
    password = vmail(這個是在受權mysql用戶的時候設置的進入密碼)
    dbname = sushan(數據庫的名字)
    table = sushanshan(數據庫中表的名字)
    select_field = mailbox
    where_field = username

 
     (9)編輯完上述文件後你要檢查下你的配置文件是否正確。
      測試: postmap -q "test@westos.org" mysql:/etc/postfix/mysql-alias.cf
    會顯示以下:test@westos.org
     postmap -q "test@westos.org" mysql:/etc/postfix/mysql-mailboxs.cf
     westos.org/sushan/
     postmap -q "westos.org" mysql:/etc/postfix/mysql-domains.cf
     westos.org

        顯示以上信息,說明正確。
   (10)
        最終測試:
        /etc/init.d/postfix restart
        /etc/init.d/mysqld restart

                ll /home/vmail/(正常是不會有什麼非定製的文件的)
                mail  test@westos.org
                Subject:  test
        tests
        test
        EOT
            此時:cd /home/vmail/(此目錄的設置在:virtual_mailbox_base=/home/vmail/中設置的)
            ls
                 會顯示   westos.org
                         cd westos.org/sushan/   
            ls
        會有  cur new tmp 這幾個文件夾
        cd    new
        ls
        cat   。。。。。。。。。
        便可查看你發的郵件信息的。
 實驗二:
(1)添加數據庫中的:
    插入:           username : sushan@linux.org
                   password :   sushan
            domain    : linux.org
            mailbox   :  linux.org/sushanlinux/

(2)
    此時檢查下你的配置文件是否正確。
      測試: postmap -q "sushan@westos.org" mysql:/etc/postfix/mysql-alias.cf
     sushan@linux.org
     postmap -q "sushan@linux.org" mysql:/etc/postfix/mysql-mailboxs.cf
     linux.org/sushanlinux/
     postmap -q "linux.org" mysql:/etc/postfix/mysql-domains.cf
     linux.org

        顯示以上信息,說明正確。
   (3)mail sushan@linux.org
    cd /home/vmail
    cd linux.org/sushanlinux/

    ls
    顯示 sushan 目錄。
    cd sushan
    ls
    cur  new tmp
    cd new
    cat。。。。。。。。查看。
    pwd
    /home/vmail/linux.org/sushan/new   php

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息