Linux中postfix郵件服務器的搭建


     postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。postfix是Wietse Venema想要為使用最廣泛的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真是一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。

   

1、首先設置hostname
   事先設置好hostname的話,Postfix可以自動配置好很多參數,節省時間。我們要假設的網站域名為100p.com,要搭建獨立的郵件服務器,就把主機名設置為mail.100p.com。

  

#echo 'mail.100p.com' > /etc/hostname
#hostname -F /etc/hostname

 

2、安裝Postfix
  

#rpm -ivh *.rpm 

 


   我們的系統一般默認已經安裝好Postfix。
   
  

#rpm -qa | grep postfix
postfix-2.6.6-6.el6_5.x86_64

 

3、基本配置
   Postfix的配置文件位於/etc/postfix/main.cf。一般有以下幾個重要參數需要設置:
   
 

 *myhostname*  //主機名
   myhostname = mail.100p.com
    
  *myorigin*  //外發郵件時發件人的郵件域名
    myorigin = $myhostname  //在通過Postfix發送郵件的時候,如果From字段不完整,Postfix會根據myorigin的值將地址補全為 *@mail.100p.com
    
  *mynetworks*  //需要收發的客戶端的地址
    mynetworks = 20.0.2.1/144, 20.0.8.1/144, 127.0.0.0/8   //mynetworks指定了本地網絡的IP段,默認只包含主機自己,你可以添加需要收發的客戶端的地址。
  
  *mydomain*   //使用郵件域
    mydomain = 100p.com   //mydomain 設置本地網絡的郵件域
       
  *mydestination*  //可接受郵件地址域名
    mydestination = 100p.com, mail.100p.com   //mydestination指定了postfix在收到這些域名地址為目標的郵件時,作為接受方收下郵件。如果收到的郵件既不符合轉發規則,又不符合接受規則,則拒絕收信。
 
  *sasl*  //sasl認證  
   smtpd_sasl_auth_enable = no  //smtp不需要SASL認證時,設置為no。

 

 

4、 重啟服務

    配置完postfix的主要參數之后,需要重啟postfix服務,重啟方法如下:

   

 #service postfix restart
 #/etc/init.d/postfix  restart

 

   服務重啟失敗,postfix - master dead but pid file exists
    1 remove /var/spool/postfix/pid/master.pid 
           

   如果還存在這個問題,可以查看端口
  

1  # netstat  -lnp | grep :25

 


   殺死進程,重新啟動postfix服務

5、安裝dovecot,啟動服務

   

1  #service devocot restart 

 

    配置文件,添加一下內容

    # vi /etc/dovecot/dovecot.conf

    

protocols = imap pop3 lmtp
protocols = pop3
disable_plaintext_auth = no
ssl = no
mail_location = mbox:/var/mail:INBOX=/var/mail/%u

 

6、測試收郵件,我們搭建的郵件服務器的地址為20.0.2.16,我們使用telnet進行測試:  
   

 [root@gio020 postfix]# telnet 20.0.2.16 25
  Trying 20.0.2.16...
  Connected to gio016 (20.0.2.16).
  Escape character is '^]'.
  220 mail.100p.com ESMTP Postfix
  *MAIL FROM: wangtao@100p.com*  //    *為要輸入的內容*  發送的郵件地址
   250 2.1.0 Ok
  *RCPT TO: bmc*                     // 接受的用戶名
   250 2.1.5 Ok
  *DATA*                           //    發送的內容
  354 End data with <CR><LF>.<CR><LF>
  *This is a test mail.*              
  *.*                               //  輸入要發送的內容,以點號結束
  250 2.0.0 Ok: queued as 172B162C17A
  *quit*                             // quit退出測試
  221 2.0.0 Bye

 


發送成功之后就可以再gio016的/var/mail/mbc下查看到剛才發送的郵件
郵件內容如下:

From wangtao@100p.com  Thu Sep 22 16:31:56 2016
Return-Path: <wangtao@100p.com>
X-Original-To: bmc
Delivered-To: bmc@mail.100p.com
Received: from gio020 (gio020 [20.0.2.20])
        by mail.100p.com (Postfix) with SMTP id 172B162C17A
        for <bmc>; Thu, 22 Sep 2016 16:31:12 +0800 (CST)

    
    
DATA 
This is a test mail.

 



 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM