導航:首頁 > 操作系統 > linux安裝postfix

linux安裝postfix

發布時間:2022-07-21 10:55:37

① 搭建linux虛擬機和postfix郵件系統

需要有個Linux的Ios鏡像,然後用VM虛擬機運行那個鏡像就行啦,然後按照搭建郵件伺服器的教程在Linux系統里操作就行啦

② linux下如何安裝郵件系統postfixlinux下如何對郵件系統postfix設置

postfix的安裝過程
3.1原始碼包的安裝
1. 獲取postfix的原始碼包
從postfix官方站點www.postfix.org取得postfix的原始碼包postfix-19991231-pl08.tar.gz。將其拷貝到/tmp
2.解開原始碼包,將生成/tmp/ postfix-19991231-pl08目錄。
tar xvzf postfix-19991231-pl08.tar.gz
3.編譯原始碼包
cd /tmp/ postfix-19991231-pl08
make
4.建立一個新用戶「postfix」,該用戶必須具有唯一的用戶id和組id號,同時應該讓該用戶不能登錄到系統,也即不為該用戶指定可執行的登錄外殼程式和可用的用戶宿主目錄。我們能先用adser postfix 添加用戶再編輯/etc/passwd文件中的相關條目如下所示:
postfix:*:12345:12345:postfix:/no/where:/no/shell
5.確定/etc/aliases文件中包含如下的條目:
postfix: root
6. 以root用戶登錄,在/tmp/ postfix-19991231-pl08目錄下執行命令
./install.sh
7. 啟動postfix
# postfix start
8.關於maildrop目錄許可權的說明:
postfix能使用一個所有用戶都可寫的(也即目錄許可權為1773)的maildrop
目錄來讓本地用戶提交郵件。這種方法避免了使用set-uid 或 set-gid 軟體,並且在郵件系統不可用時,用戶仍然能提交郵件。其他用戶沒有訪問該目錄中的隊列文件的許可權。接收來自網路的郵件時postfix不使用maildrop目錄。不過,由於該目錄的許可權是733,其他用戶能建立一個硬連接到該目錄中的文件從而導致該郵件被投遞多次或無法刪除,也就是說這將導致安全性問題。如果你想要使用這種方式來讓用戶提交郵件,就要在install.sh 腳本問你是否需要set-gid 時回答no。
如果你的系統有多個用戶的話,最佳取消以上的方式而採用利用set-gid 用
戶許可權提交郵件的方式。這時,我們首先需要建立一個組id唯一的組"maildrop" 並且確定該組中沒有用戶成員。然後在install.sh 問你是否需要set-gid 時指定"maildrop"。
提示:在安裝postfix之前,請刪除已安裝的sendmail。

3.2 rpm包的安裝
1. 獲取postfix的rpm軟體包。
我們能從http://www.alltrading.es/postfix/rpms/i386/ 獲得postfix的rpm軟體包。當前的最新版本是postfix-20000531-2.i386.rpm。
2. 備份你的/etc/aliases和/etc/aliases.db,因為postfix要使用該別名資料庫。
3. 用以下命令查看系統是否安裝了sendmail:
[root@mail /root]# rpm -qa |grep sendmail
sendmail-doc-8.9.3-15
sendmail-8.9.3-15
sendmail-cf-8.9.3-15
4. 用以下命令強行卸載sendmail:
[root@mail /root]# rpm -e sendmail sendmail-cf sendmail-doc --nodeps
5. 用以下命令殺死運行中的sendmail進程:
[root@mail /root]# killall sendmail
6. 安裝postfix:

7. 啟動postfix
[root@mail /root]# /etc/rc.d/init.d/postfix start

3.3 設置系統每次啟動時自動啟動postfix
1.如果你安裝的是postfix的原始碼包,能在/etc/rc.d/rc.local文件中加入如下的語句讓系統每次啟動時自動啟動postfix:
if [ -f /usr/libexec/postfix ]; then
/usr/libexec/postfix start
fi
2.如果你安裝的是postfix的rpm包,能通過setup命令來設置在系統啟動時啟動postfix。
四、 postfix的設置詳解
4.1 postfix的設置文件結構
postfix的設置文件位於/etc/postfix下,安裝完postfix以後,我們能通過ls命令查看postfix的設置文件:
[root@mail postfix]# ls
install.cf main.cf master.cf postfix-script

這四個文件就是postfix最基本的設置文件,他們的差別在於:
mail.cf:是postfix主要的設置文件。
install.cf:包含安裝過程中安裝程式產生的postfix初始化設置。
master.cf:是postfix的master進程的設置文件,該文件中的每一行都是用來設置postfix的組件進程的運行方式。
postfix-script:包裝了一些postfix命令,以便我們在linux環境中安全地執行這些postfix命令。

4.2 postfix的基本設置
postfix大約有100個設置參數,這些參數都能通過main.cf 指定。設置的格式是這樣的,用等號連接參數和參數的值。如:
myhostname = mail.mydomain.com
等號的左邊是參數的名稱,等號的右邊是參數的值; 當然,我們也能在參數的前面加上$來引用該參數,如:
myorigin = $myhostname
雖然postfix有100個左右的參數,不過postfix為大多數的參數都設置了預設值,所以在讓postfix正常為你服務之前,你只需要設置為數不多的幾個參數。下面我們一起來看一看這些基本的postfix參數。需要注意的是,一旦你更改了main.cf文件的內容,則必須運行postfix reload命令使其生效。

1. myorigin
myorigin參數指明發件人所在的域名。如果你的用戶的郵件地址為[email protected],則該參數指定@後面的域名。預設地,postfix使用本地主機名作為myorigin,不過建議你最佳使用你的域名,因為這樣更具有可讀性。比如:安裝postfix的主機為mail.domain.com則我們能這樣指定myorigin:
myorigin = domain.com
當然我們也能引用其他參數,如:
myorigin = $mydomain

2. mydestination
mydestination參數指定postfix接收郵件時收件人的域名,換句話說,也就
是你的postfix系統要接收什麼樣的郵件。比如:你的用戶的郵件地址為[email protected], 也就是你的域為domain.com, 則你就需要接收所有收件人為[email protected]的郵件。和myorigin相同,預設地,postfix使用本地主機名作為mydestination。
3. notify_classes
在postfix系統中,必須指定一個postfix系統管理員的別名指向一個用戶,
只有這樣,在用戶遇見問題時才有報告的對象,postfix也才能將系統的問題報告給管理員。notify_classes參數就是用來指定向postfix管理員報告錯誤時的信息級別。共有以下幾種級別:

bounce:將不能投遞的郵件的拷貝發送給postfix管理員。出於個人隱私的緣故,該郵件的拷貝不包含信頭。

2bounce:將兩次不可投遞的郵件拷貝發送給postfix管理員。

delay:將郵件的投遞延遲信息發送給管理員,僅僅包含信頭。

policy:將由於uce規則限制而被拒絕的用戶請求發送給postfix管理員,包含整個smtp會話的內容。

protocol:將協議的錯誤信息或用戶企圖執行不支持的命令的記錄發送給postfix管理員。同樣包含整個smtp會話的內容。

resource:將由於資源錯誤而不可投遞的錯誤信息發送給postfix管理員,比如:隊列文件寫錯誤等等。

software:將由於軟體錯誤而導致不可投遞的錯誤信息發送給postfix管理員。

預設值為:
notify_classes = resource, software

4.myhostname
myhostname 參數指定運行postfix郵件系統的主機的主機名。預設地,該值被設定為本地機器名。你也能指定該值,需要注意的是,要指定完整的主機名。如:
myhostname = mail.domain.com

5.mydomain
mydomain參數指定你的域名,預設地,postfix將myhostname的第一部分刪除而作為mydomain的值。你也能自己指定該值,
6.mynetworks
mynetworks 參數指定你所在的網路的網路地址,postfix系統根據其值來差別用戶是遠程的還是本地的,如果是本地網路用戶則允許其訪問。你能用標準的a、b、c類網路地址,也能用cidr(無類域間路由)地址來表示,
7.inet_interfaces
inet_interfaces 參數指定postfix系統監聽的網路介面。預設地,postfix監聽
所有的網路介面。如果你的postfix運行在一個虛擬的ip地址上,則必須指定其監聽的地址。
4.3 postfix的uce(unsolicited commercial email)控制
所謂uce控制就是指控制postfix接收或轉發來自於什麼地方的郵件。

預設地,postfix轉發符合以下條件的郵件:
* 來自客戶端ip地址符合$mynetworks的郵件。
* 來自客戶端主機名符合$relay_domains及其子域的郵件。
* 目的地為$relay_domains及其子域的郵件。

預設地,postfix接受符合以下條件的郵件:
* 目的地為$inet_interfaces的郵件。
* 目的地為$mydestination的郵件。
* 目的地為$virtual_maps的郵件。
不過我們也能通過下面的規則來實現更強大的控制功能。

1. 信頭過濾
通過header_checks參數限制接收郵件的信頭的格式,如果符合指定的格式,則拒絕接收該郵件。能指定一個或多個查詢列表,如果新郵件的信頭符合列表中的某一項則拒絕該接收郵件。
2.客戶端主機名/地址限制
通過smtpd_client_restrictions參數限制能向postfix發起smtp 連接的客戶端的主機名或ip地址。能指定一個或多個參數值,中間用逗號隔開。限制規則是按照查詢的順序進行的,第一條符合條件的規則被執行。
3. 是否請求helo命令
能通過smtpd_helo_required參數指定客戶端在smtp會話的開始是否發
送一個helo命令。你能指定該參數的值為yes或no。
4. helo主機名限制
能通過smtpd_helo_restrictions參數指定客戶端在執行helo命令時發送
給postfix的主機名。預設地,postfix接收客戶端發送的任意形式的主機名。能指定一個或多個參數值,中間用逗號隔開。限制規則是按照查詢的順序進行的,第一條符合條件的規則被執行。
5. rfc 821信頭限制
rfc 821對郵件的信頭做了嚴格的規定,不過廣泛使用的sendmail並不支
持該規定,所以對於該參數我們只能說不,
6. 通過發件人地址進行限制
能用smtpd_sender_restrictions參數通過發件人在執行mail from命令時提供的地址進行限制。能指定一個或多個參數值,中間用逗號隔開。限制規則是按照查詢的順序進行的,第一條符合條件的規則被執行。
reject_unknown_sender_domain:如果mail from命令提供的主機名在dns中沒有相應的a 或 mx 記錄則拒絕該客戶端的連接請求。能用unknown_address_reject_code參數指定返回給客戶機的錯誤代碼(預設為450)。

check_sender_access maptype:mapname:根據mail from命令提供的主機名、父域搜索access資料庫。如果搜索的結果為reject 或 "[45]xx text" 則拒絕該客戶端的連接請求;如果搜索的結果為ok、relay 或數字則接受該客戶端的連接請求。能用access_map_reject_code參數指定返回給客戶機的錯誤代碼(預設為554)。能通過該參數過濾來自某些不受歡迎的發件人的郵件。

reject_non_fqdn_sender:如果mail from命令提供的主機名不是rfc規定的完整的域名則拒絕客戶端的連接請求。能用non_fqdn_reject_code 參數指定返回給客戶機的錯誤代碼(預設為504)。
預設地,postfix接受來自所有發件人的郵件。

7. 通過收件人地址進行過濾
能用smtpd_recipient_restrictions參數通過發件人在執行rcpt to命令
時提供的地址進行限制。預設值為:
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains
能指定一個或多個參數值,中間用逗號隔開。限制規則是按照查詢的順序
進行的,第一條符合條件的規則被執行。可用的規則有:

check_relay_domains:如果符合以下的條件,則接受smtp連接請求,否則拒絕該連接,能用relay_domains_reject_code 參數指定返回給客戶機的錯誤代碼(預設為504)。
* 客戶端主機名符合$relay_domains及其子域
* 目的地為$inet_interfaces、$mydestination或$virtual_maps

permit_auth_destination:不管客戶端的主機名,只要符合以下的條件,就
接受smtp連接請求:
* 解析後的目標地址符合$relay_domains及其子域
* 解析後的目標地址符合$inet_interfaces、$mydestination或$virtual_maps

reject_unauth_destination:不管客戶端的主機名,只要符合以下的條件,
就拒絕該客戶端smtp連接請求:
* 解析後的目標地址符合$relay_domains及其子域
* 解析後的目標地址符合$inet_interfaces、$mydestination或$virtual_maps

check_recipient_access:根據解析後的目標地址、父域搜索access資料庫。如果搜索的結果為reject 或 "[45]xx text" 則拒絕該客戶端的連接請求;如果搜索的結果為ok、relay 或數字則接受該客戶端的連接請求。能用access_map_reject_code參數指定返回給客戶機的錯誤代碼(預設為554)。

reject_unknown_recipient_domain:如果收件人的郵件地址在dns中沒有相應的a 或 mx 記錄則拒絕該客戶端的連接請求。能用unknown_address_reject_code參數指定返回給客戶機的錯誤代碼(預設為450)。

reject_non_fqdn_recipient:如果發件人在執行rcpt to命令時提供的地址
不是完整的域名則拒絕其smtp連接請求。能用the non_fqdn_reject_code參數指定返回給客戶機的錯誤代碼(預設為504)。

③ linux 安裝postfix

一級二級都沒有關系,關鍵是你要設置域名解析的MX記錄.
MX記錄負責郵件部分.

④ linux centos 怎樣查看postfix已經安裝

如果是用rpm包安裝的話就用命令rpm -qa postfix查看
如果用源碼包安裝,查看服務或埠25及110埠是否有監聽
用netstat -an查看一下埠監聽情況

⑤ 用linux系統搭建postfix郵件伺服器,但是區域網可以實現互發郵件,不能給其他的公網郵箱互發郵件,求解

快速配置Postfix郵件伺服器

Postfix最被人稱道的地方就在於其配置文件的可讀性很高。Postfix的主配置文件是/etc/postfix/main.cf。

在main.cf文件中,參數都是以類似變數的設置方法來設置的,這些參數的使用主要包含兩部分的內容:

(1)定義和聲明變數:例如definename = good-better-best。等號左邊是變數的名稱,等號右邊是變數的值。

(2)引用變數:可以在變數的前面加上符號「$」來引用該變數,如:myname = $ definename(相當於definename = good-better-best)。

需要注意的是:等號兩邊需要有空格字元。此外,如果變數有兩個以上的設置值,就必須用逗號「,」或者空格符「 」將它們分開。

在熟悉了上述變數的定義和引用方法後,下面詳細介紹如何安全、高效地配置Postfix伺服器的相關選項。

1.設置Postfix服務監聽的網路介面

默認情況下,inet_interfaces參數的值被設置為localhost,這表明只能在本地郵件主機上寄信。如果郵件主機上有多個網路介面,而又不想使全部的網路介面都開放Postfix服務,就可以用主機名指定需要開放的網路介面。不過,通常是將所有的網路介面都開放,以便接收從任何網路介面來的郵件,即將inet_interfaces參數的值設置為「all」,如下所示:

inet_interfaces = all

2.安全設置可接收郵件的主機名稱或域名

mydestination參數非常重要,因為只有當發來的郵件的收件人地址與該參數值相匹配時,Postfix才會將該郵件接收下來。通過該選項的設置可以過濾掉許多沒有經過認證和授權的郵件,從而節省伺服器的存儲空間,以及節省用戶的郵件處理時間。

舉一個簡單的例子,用戶可以將該參數值設置為如下:

accept_domain = test.net
mydestination = $accept_domain

這就表明無論來信的收件人地址是[email protected](其中X表示某用戶在test.net域中的郵件賬戶名),Postfix都會接收這些郵件。而除此之外的郵件,Postfix都不會接受。

3.安全設置可轉發郵件的網路(IP設置)

有關安全設置可轉發郵件的網路可以使用mynetworks參數來設置。可將該參數值設置為所信任的某台主機的IP地址,也可設置為所信任的某個IP子網或多個IP子網(採用「,」或者「 」分隔)。

比如,用戶可以將mynetworks參數值設置為172.168.96.0/24,則表示這台郵件主機只轉發子網172.168.96.0/24中的客戶端所發來的郵件,而拒絕為其他子網轉發郵件:

mynetworks = 172.168.96.0/24

除了mynetworks參數外,還有一個用於控制網路郵件轉發的參數是mynetworks-style,它主要用來設置可轉發郵件網路的方式。通常有以下三種方式:

(1)class:在這種方式下,Postfix會自動根據郵件主機的IP地址得知它所在的IP網路類型(即A類、B類或是C類),從而開放的它所在的IP網段。

(2)subnet:這是postfix的默認值,postfix會根據郵件主機的網路介面上所設置的IP地址、子網掩碼來得知所要開放的IP網段。

(3)host:在這種方式下,postfix只會開放本機。

通常,用戶一般不需要設置mynetworks-style參數,而直接設置mynetworks參數。如果這兩個參數都進行了設置,那麼mynetworks參數的設置有效。

4.設置可轉發郵件的網路(域名設置)

上面介紹的mynetworks參數是針對郵件來源的IP來設置的,而relay_domains參數則是針對郵件來源的域名或主機名來設置的,其實從原理上來說是一致的,不過是區分了IP地址和域名而已,不過,relay_domains還需要依賴DNS這個基礎設施。

例如,用戶可以將relay_domains參數值設置為test.net,則表示任何由域test.net發來的郵件都會被認為是信任的,Postfix會自動對這些郵件進行轉發,如下所示:

relay_domains = test.net

那麼,要使它能在實際網路中更好地轉發郵件,還必須進行相應的DNS設置。那麼,需要在該網路的DNS伺服器上定義了一個主區域test.net,並在該區域配置文件中定義了以下記錄:

//定義郵件伺服器的IP地址
patterson.test.net. IN  A  172.168.96.254
//定義郵件伺服器的別名
mail.test.net. IN CNAME  patterson.test.net.
//定義優先順序別
test.net.  IN MX  10 mail.test.net.

上述記錄只對郵件伺服器進行了定義,還有諸如SOA、NS等的定義,在這里就不再贅述。

配置Postfix使用SMTP安全認證

Postfix默認不會對外開放轉發功能,而僅對本機(localhost)開放轉發功能。但是,在實際應用中,必須在Postfix主配置文件中通過設置mynetworks、relay_domains參數來開放一些所信任的網段或網域,否則該郵件伺服器幾乎沒有什麼用處。在開放了這些所信任的網段或網域後,還可以通過設置SMTP認證,對要求轉發郵件的客戶端進行用戶身份(用戶賬戶名與密碼)驗證。只有通過了驗證,才能接收該用戶寄來的郵件並幫助轉發。同樣,Postfix中目前比較常用的SMTP認證機制是通過Cyrus SASL包來實現的。

默認情況下,Postfix並沒有啟用SMTP認證機制。要讓Postfix啟用SMTP認證,就必須對Postfix的主配置文件/etc/postfix/main.cf進行修改。用戶需要在main.cf文件中添加如下有關SMTP認證的設置部分:

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

其中,每個選項的具體含義如下:

(1)smtpd_sasl_auth_enable:指定是否要啟用SASL作為SMTP認證方式。默認不啟用,這里必須將它啟用,所以要將該參數值設置為yes。

(2)smtpd_sasl_local_domain:如果採用Cyrus-SASL版進行認證,那麼這里不做設置。

(3)smtpd_recipient_restrictions:表示通過收件人地址對客戶端發來的郵件進行過濾。通常有以下幾種限制規則:
permit_mynetworks:表示只要是收件人地址位於mynetworks參數中指定的網段就可以被轉發郵件。
permit_sasl_authenticated:表示允許轉發通過SASL認證的郵件。
reject_unauth_destination:表示拒絕轉發含未信任的目標地址的郵件。

(4)broken_sasl_auth_clients:表示是否兼容非標準的SMTP認證。有一些Microsoft的SMTP客戶端採用非標準的SMTP認證協議,只需將該參數設置為yes就可解決這類不兼容問題。

(5)smtpd_client_restrictions:表示限制可以向Postfix發起SMTP連接的客戶端。如果要禁止未經過認證的客戶端向Postfix發起SMTP連接,則可將該參數值設置為permit_sasl_authenticated。

(6)smtpd_sasl_security_options:用來限制某些登錄的方式。如果將該參數值設置為noanonymous,則表示禁止採用匿名登錄方式。

在完成上述設置後,必須使用

/etc/init.d/postfix reload

重新載入配置文件,或使用

/etc/init.d/postfix restart

重新啟動Postfix服務,以使該配置生效。這兩個命令的具體使用需要根據不同的Linux版本來選用。

此外,由於當Postfix要使用SMTP認證時,會讀取/usr/lib/sasl2/smtpd.conf文件中的內容,以確定所採用的認證方式,因此如果要使用saslauthd這個守護進程來進行密碼認證,就必須確保/usr/lib/sasl2/smtpd.conf文件中的內容為:

pwcheck_method: saslauthd

⑥ LINUX郵件伺服器搭建

1. 用以下命令查看系統是否安裝了sendmail:
[root@mail /root]# rpm –qa |grep sendmail
sendmail-8.11.0-8
2. 卸載sendmail:
[root@mail /root]# rpm -e sendmail –nodeps
3. 用以下命令殺死運行中的sendmail進程:
[root@mail /root]# killall sendmail
如果系統提示:
sendmail: no process killed
則說明當前系統中沒有sendmail進程。
4. 安裝postfix:
[root@mail /root]# rpm -ivh postfix-20010228release-2.i386.rpm
若已經安裝,則此步可以省略。(註:安裝時最好用rpm包,會自動創建postfix用戶和postfix組)
5. 安裝imap
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm
imap使pop3有效,即打開110埠。(註:安裝時最好用rpm包)
若已經安裝,則此步可以省略。
6. 檢查系統中是否安裝了cyrus-sasl
執行以下命令查看系統中是否安裝了cyrus-sasl:
rpm –qa |grep cyurs
如果您看到以下提示,則說明已經安裝了cyrus-sasl
[root@test bye2000]# rpm -qa |grep sasl
cyrus-sasl-devel-1.5.24-17
cyrus-sasl-1.5.24-17
否則,請用rpm –ivh 命令先安裝所需sasl-cyrus包。
7.修改postfix用戶
同時應該讓該用戶不能登錄到系統,也即不為該用戶指定可執行的登錄外殼程序和可用
的用戶宿主目錄。
編輯/etc/passwd文件中的相關條目如下所示:
postfix:x:89:89::/no/where:/no/shell [編輯後,只修改藍色部分就可以了]
即:修改用戶的Home directory和Shell 參照 /etc/passwd文件

8.編輯postfix的主要配置文件/etc/postfix/main.cf,根據需求只需修改以下幾個參數:
1)mydomain
指明你的域名,在這里我們指定:
mydomain = xx.com
2)myorigin
myorigin參數指明發件人所在的域名。如果你的用戶的郵件地址為[email protected],則該參數指定@後面的域名。在這里我們指定:
myorigin = $mydomain
3)inet_interfaces
inet_interfaces = all 監聽所有埠
4)mydestination
mydestination參數指定postfix接收郵件時收件人的域名,換句話說,也就是你的postfix
系統要接收什麼樣的郵件。通常與myorigin一樣:
mydestination = $mydomain
5)mynetworks_style
設置網路類型,我們指定:
mynetworks_style = subnet
6)ynetworks
定義可以使用的此smtp伺服器發信的客戶ip地址,因為公司的ip范圍已知,所以我們
指定:
mynetworks = 192.168.1.0/24
註:此項可根據情況而定,主要是指定ip范圍,假如公司的ip劃分是按照網段來的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更細。根據需要,該項可以不設置。
7)SMTP的配置
為了告訴postfix採用sasl來進行SMTP的用戶認證,我們必須在/etc/postfix/main.cf文件的最後添加以下幾行:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
說明如下:
smtpd_sasl_auth_enable:告訴SMTP客戶,該SMTP伺服器需要進行用戶認證。

smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
僅僅中繼通過SMTP認證的客戶端郵件,以及接收本postfix為最後一站的郵件。
broken_sasl_auth_clients = yes
有一些Microsoft 的SMTP客戶端,比如Outlook Express 4.X採用的是非標準的SMTP認證協議,將該選項設置為yes可以解決這類不兼容問題。
smtpd_sasl_security_options = noanonymous
控制本地SMTP認證所採用的機制,這里是允許任何非匿名認證方法。
9.配置SASL
進入/usr/lib/sasl/目錄,用touch新建這樣一個文件:
[root@test sasl]# touch smtpd.conf
在該文件中加入以下內容:
[root@test sasl]# more smtpd.conf
pwcheck_method:pam
也就是指定通過PAM來進行用戶認證。
10.配置PAM
進入/etc/pam.d/目錄,用touch新建這樣一個文件:
[root@test pam.d]# touch smtp
在該文件中加入如下內容:
[root@test pam.d]# more smtp
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
也即和/etc/pam.d/pop文件的內容是一致的。
11.修改/etc/shadow文件許可權
因為PAM最終要去讀取/etc/shadow文件的內容來進行用戶認證,但是/etc/shadow文件
許可權是設置為只有root用戶可以讀寫,而我們的postfix是運行在postfix用戶許可權之下,所以我們要合理的設置/etc/shadow文件許可權,以便讓pam可以讀取其內容。
執行以下命令,讓root組也可以讀取shadow:
[root@test /etc]# chmod 640 /etc/shadow
然後再將postfix用戶加入root組,採用以下命令:
[root@test /etc]# usermod -G root postfix

12.編輯postfix的主要配置文件/etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
這里開始
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
這里結束
#628 inet n - n - - qmqpd
把我標的注釋部分去掉即可。
13.配置pop3
RedHat7.0已經使用xinetd代替了以前的inetd,為了使pop3服務啟動,我們編輯
/etc/xinetd.d/ipop3文件,將其中的disable = yes改為disable = no 以便啟動pop3
服務。
為了使改動生效,執行以下命令:
/etc/rc.d/init.d/xinetd reload
14.啟動postfix
執行以下命令啟動postfix:
/etc/rc.d/init.d/postfix start
這樣,一個支持SMTP認證的postfix郵件伺服器就配好了。

⑦ linux郵件伺服器搭建

使用postfix(提供smtp服務)、squirrelmail(提供web方式收發郵件)、dovecot(IMAP、pop3)、cyrus-imapd(創建郵箱用戶)、saslauthd軟體來實現。 (注意:在安裝linux的時候,把防火牆和selinux設為禁止,我當時沒把selinux設為禁止,當時頭都做大了) 1。sendmail把系統的25和110埠給佔用了,所以先要將sendmail服務停止並卸載: service sendmail stop rpm -e sendmail 2.postfix服務的搭建與配置 一:首先要掛載光碟 mount /dev/cdrom /mnt 二:安裝postfix rpm -ivh /mnt/Server/postfix... 三:配置postfix vi /etc/postfix/mail.cf(建議把裡面的內容全刪了) #myhostname = mail.fu.com #mydomain = fu.com #myorgin =$mydomain #inet_interfaces =all #mydestination =$myhostname,$mydomain #mynetworks = 192.168.1.0/24,127.0.0.0/8 #relay_domains = fu.com 四:開啟postfix service postfix start chkconfig postfix on 3.smtp安裝配置(發郵件的) 一:安裝smtp rpm –ivh /mnt/Server/cyrus-sasl…. 二:配置smtp vi /etc/sysconfig/saslauthd #socketdir=/var/run/saslauthd #mech=shadow 三:開啟smtp service saslauthd start chkconfig saslauthd on 四:配置/etc/postfix/main.cf(一定要按照順序配置main.cf,別一下把main.cf全配了,不能你的postfix是啟動不了的) smtpd_sasl_auth_enable =yes smtpd_sasl_local_domain =』』 smtpd_recipient_restrictions =permit_mynetworks, sermit_sal_authenticated,reject_unauth_destination(注意這行和上一行是一起的,是連在一起的,假如這樣分段寫postfix啟動會失敗的 我上次就犯了這種錯誤,能後用冒泡的方法找出來的) broken_sasl_auth_clients = yes smtpd_client_restrictions = permit_sasl_authenticated smtpd_sasl_security_options = noanonymous mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp 五:記得要重啟postfix service postfix restart 4.devecot安裝(這是pop3接收郵件的) 一:安裝devecot yum install dovecot*(yum安裝下次會說) 二:配置dovecot(配置文件/etc/dovecot.conf) protocols = pop3 pop3s; protocol pop3 { listen = *:10100 }; 三:啟動dovecot service dovecot start chkconfig dovecot on 四:安裝cyrus-imapd 要安裝的包cyrus-imapd-perl-2.3.7-7.el5.i386.rpm cyrus-imapd-utils-2.3.7-7.el5.i386.rpm cyrus-imapd-2.3.7-7.el5.i386.rpm cyrus-imapd-devel-2.3.7-7.el5.i386.rpm 配置/etc/postfix/main.cf mailbox_transport =lmtp:unix:/var/lib/imap/socket/lmtp 五:cyrus-imapd服務開啟(這個服務開啟很多人會忘記,一定要記得) /etc/init.d/cyrus-imapd restart 五:為郵箱增加用戶 #passwd cyrus /usr/bin/cyradm –u cyrus localhost createmailbox user.fu user.fu.Send(發郵件) user.fu.Trash(垃圾郵件) user.fu.Drafts(草稿箱) 5.web收發郵件(squirrelmail) php-mbstring-5.1.6-23.2.el5_3.i386.rpm squirrelmail-1.4.8-5.el5_3.7.noarch.rpm 一:進入配置/usr/share/squirrelmail/config/conf.pl 6.在DNS上配置(mail.fu.com)(下次會講怎麼用DNS解析) 7.安裝apache rpm –ivh /mnt/Server/httpd 能後進入主配置文件把servername mail.fu.com就行了 在瀏覽器的地址欄里輸入 http://mail.fu.com/webmail

⑧ 在linux下如何配置postfix與dovecot才能使客戶端outlook成功連接到電子郵件伺服器上需要詳細步驟,謝謝

1.配置postfix

a. /etc/postfix/main.cf

配置mydomian(域名),myhostname,myorigin,inet_interfaces=all(其他關閉),mynetworks-style,mydestination,mynetworks,relay_domains,home_mailbox

配置主機名和域名 mydomain myhostname

設置由本機寄出的郵件所使用的域名或主機名稱 myorigin

設置postfix服務監聽的網路介面 inet_interfaces

設置可接受郵件的主機名稱和域名 mydestination

設置可以轉發哪些網路的郵件 mynetworks

設置可以轉發哪些網域的郵件 relay_domains = sina.cn

b.驗證:

telnet localhost 25

mail from:[email protected](發件人任意)

rcpt to:[email protected](收件人創建的名字和設置好的域名)

data(輸入信息)

.(結束輸入)

quit(離開)


2.配置dovecot

yum install -y dovecot

a.配置文件:a. vim /etc/dovecot/dovecot.conf (protocols = imap pop3)

b. vim /etc/dovecot/conf.d/10-auth.conf

(disable_plaintext_auth = no)

c. vim /etc/dovecot/conf.d/10-mail.conf

(mail_location = maildir:~/Maildir)地址要和postfix伺服器配置文件中的home_mailbox地址一致

d. vim /etc/dovecot/conf.d/10-ssl.conf

(ssl = yes)

e. vim /etc/pam.d/dovecot (查看pam認證文件)

b.驗證:

[root@CentOS6 ~]# telnet localhost 110

Trying ::1...

Connected to localhost.

Escape character is '^]'.

+OK Dovecot ready.

user user1

+OK

pass 123

+OK Logged in.

list

+OK 4 messages:

1 472

2 458

3 464

4 464

.

retr 3

+OK 464 octets

Return-Path: <[email protected]>

X-Original-To: [email protected]

Delivered-To: [email protected]


3.郵件客戶端的配置

a. 關閉防火牆,selinux

b. 設置收發郵件伺服器

我這里是用的foxmail 看我的截圖

這樣就可以了


⑨ linux怎麼搭建郵箱伺服器

阿里雲 Centos 6.5 32位

Postfix-2.8.12.tar.gz Postfix MTA(郵件傳輸代理)
Dovecot-2.1.8.tar.gz IMAP 和 POP3 郵件伺服器
Postfixadmin-2.3.5.tar.gz 採用PHP編寫的開源WEB郵箱及域名賬號管理工具
Roundcubemail-0.8.1.tar.gz 採用PHP編寫的開源IMAP郵件WEB客戶端

安裝過程

1.安裝Postfix

yum -y install postfix
安裝完成還需要替換系統自帶的sendmail:

rpm -e sendmail
或者
yum remove sendmail
修改MTA(默認郵件傳輸代理)

alternatives --config mta
然後直接回車即可。

檢查一下是不是已經設置成功了。

alternatives --display mta
第一行可以看到mta的狀態。 例如:mat - status is manual.

2.安裝Dovecot

yum -y install dovecot
3.配置Postfix

編輯/etc/postfix/main.cf,可以下載下來修改,也可以使用vi進行編輯:

vi /etc/postfix/main.cf
修改如下:

# 75行: 取消注釋,設置hostname
myhostname = mail.lomu.me
# 83行: 取消注釋,設置域名
mydomain = lomu.me
# 99行: 取消注釋
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推薦ipv4,如果支持ipv6,則可以為all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注釋,指定內網和本地的IP地址范圍
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注釋,郵件保存目錄
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP

# 添加到最後
# 規定郵件最大尺寸為10M
message_size_limit = 10485760
# 規定收件箱最大容量為1G
mailbox_size_limit = 1073741824
# SMTP認證
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之後使用/etc/rc.d/init.d/postfix start開啟postfix,使用chkconfig postfix on將postfix開機啟動。

4.配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,請修改為*
listen = *

[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注釋並修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注釋並添加
mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注釋並添加
# Postfix smtp驗證
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]

[root@mail ~]# chkconfig dovecot on
到這里,我們的郵件伺服器就已經搭建成功了。

5.域名解析

最後別忘了還需要進行域名解析工作。

添加一個子域名mail,A記錄解析到伺服器IP。

再添加一個MX記錄,主機記錄為空,記錄值為上面解析的二級域名mail.lomu.me,優先順序10。

注意:解析生效可能需要一段時間。

6.防火牆設置

/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT

突破封鎖25口的轉發

/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25

7.郵箱使用

一切都弄好以後,就可以使用Foxmail等第三方軟體來收發郵件了。在這里需要說一下,系統用戶就是郵件的用戶,例如root,就是一個郵箱用戶,郵箱是[email protected],密碼就是root的密碼,所以需要創建用戶,只要使用useradd創建用戶,再使用passwd設置密碼。

好了,假如我們創建一個admin的用戶:

# 創建用戶
useradd admin
#設置密碼,會要求輸入兩次密碼
passwd admin

這里需要注意,郵件賬號是admin,並不是郵箱,另外我們沒有配置SSL,所以也不要勾選。 接下來點擊創建,如果一切正常的話,你已經成功了。

⑩ linux下怎麼快速搭建postfix

裝個zimbra吧,包含postfix的一個oa系統,就像安裝軟體一樣,很快速,如果純粹的postfix,手動一步步來把,沒有快速的方法,去文庫里找個postfix安裝教程。

閱讀全文

與linux安裝postfix相關的資料

熱點內容
程序員追愛 瀏覽:250
程序員邏輯故事 瀏覽:766
加密icsot23i2c 瀏覽:709
你們有什麼好的解壓軟體 瀏覽:605
常州空氣壓縮機廠家 瀏覽:239
安卓如何關閉app內彈出的更新提示 瀏覽:407
e4a寫的app怎麼裝蘋果手機 瀏覽:199
海立壓縮機海信系 瀏覽:208
社保如何在app上合並 瀏覽:220
小米加密照片後綴 瀏覽:234
我的世界網易手機怎麼創伺服器 瀏覽:978
載入單頁源碼 瀏覽:930
阿里雲伺服器seo 瀏覽:777
海洋斗什麼時候上線安卓 瀏覽:86
中行app如何查每日匯款限額 瀏覽:840
輸入伺服器sn是什麼意思 瀏覽:725
sha1演算法java 瀏覽:90
asp代碼壓縮 瀏覽:851
按鍵壓槍源碼 瀏覽:180
福建伺服器負載均衡是什麼 瀏覽:697