⑴ 如何配置postfix郵件伺服器
在安裝郵件伺服器之前先了解幾個名詞,以後會用到:
MUA:用戶代理端,即用戶使用的寫信、收信客戶端軟體
MTA:郵件傳送端,即常說的郵件伺服器,用於轉發、收取用戶郵件。
MDA:郵件代理端,相當於MUA和MTA的中間人,可用於過濾垃圾郵件。
POP:郵局協議,用於MUA連接伺服器收取用戶郵件,通信埠110。
IMOP:互聯網應用協議,功能較POP多,通信埠143。
SMTP:簡單郵件傳送協議,MUA連接MTA或MTA連接MTA發送郵件使用此協議,通信埠25。
本次配置MTA以Postfix為例,較sendmail簡單、安全,且兼容於sendmail。
⑵ postfix 發垃圾郵件 怎麼配置
日誌中看是哪個用戶,關閉用戶或者修改密碼。
⑶ sendmail與postfix哪種更好及它們分別的配置
Postfix是基於半駐留,互操作的進程的體系結構,每個進程完成特定的任務,沒有任何特定的進程衍生關系(父子關系)。而且,獨立的進程來完成不同的功能相對於「單塊」程序具有更好的隔離性。此外,這種實現方式具有這樣的優點:每個服務如地址重寫等都能被任何一個Postfix部件所使用,無須進程創建等開銷,而僅僅需要重寫一個地址,當然並不是只有postfix採用這種方式。 Postfix是按照這種方式實現的:一個駐留主伺服器根據命令運行Postfix守護進程,守護進程完成發送或接收網路郵件消息,在本地遞交郵件等等功能。守護進程的數目由配置參數來決定的,並且根據配置決定守護進程運行的次數(re-used times),當空閑時間到達配置參數指定的限度時,自動消亡。這種方法明顯地降低了進程創建開銷,但是單個進程之間仍然保持了良好的隔離性。 Postfix的設計目標就是成為Sendmail的替代者。由於這個原因,Postfix系統的很多部分,如本地投遞程序等,可以很容易地通過編輯修改類似inetd的配置文件來替代。 Postfix的核心是由十多個半駐留程序實現的。為了保證機密性的原因,這些Postfix進程之間通過Unix的socket或受保護的目錄之下的FIFO進行通信。即使使用這種方法來保證機密性,Postfix進程並不盲目信任其通過這種方式接收到的數據。 Postfix進程之間傳遞的數據量是有限制的。在很多情況下,Postfix進程之間交換的數據信息只有隊列文件名和接收者列表,或某些狀態信息。一旦一個郵件消息被保存進入文件,其將在其中保存到被一個郵件投遞程序讀出。 Postfix採用一些通常的措施來避免丟失信息:在收到確認以前通過調用flush和fsync()保存所有的數據到磁碟中。檢查所有的系統調用的返回結果來避免錯誤狀況。 大多數構建郵件伺服器者都會選擇sendmail,公平的來講sendmail是一個不錯的MTA(Mail Transfer Agent),最初開發時Eric Allman的設計考慮主要放在了郵件傳遞的成功性。不幸的是,Sendmai開發時沒有太多的考慮Internet環境下可能遇到的安全性問題。 Sendmail在大多數系統上只能以根用戶身份運行,這就意味著任何漏洞都可能導致非常嚴重的後果,除了這些問題之外,在高負載的情況Sendmail 運行情況不是很好。
⑷ postfix垃圾郵件過濾機制,有誰全部使用了
可以配合u-mail反垃圾郵件網關來防禦垃圾郵件,垃圾郵件過濾效果好,可以試用。配置好立即生效。
⑸ 如何配置Postfix防禦垃圾郵件
可以配合使用U-Mail郵件網關來幫忙過濾垃圾郵件。配置簡單,生效快
⑹ 用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
⑺ postfix架設一定要在區域網內架設一台dns用於解析mx記錄和a記錄嗎
寄出郵件時,postfix使用系統的resolver(即DNS client,能向DNS server查詢網域信息的函數庫)來取得DNS信息。收信時,你的網域的DNS必須能提供遞送信息(MX或A記錄)給外界查詢,讓其他MTA能夠找到你 的postfix server。
⑻ linux下如何安裝郵件系統postfixlinux下如何對郵件系統postfix設置
郵件系統是所有伺服器架構最繁瑣的,
postfix是功能強大的郵件伺服器,更確切的說是MTA,只是起到一個發郵件的功能,而收郵件的話是需要pop3或者imap服務的,pop3和imap在linux結合postfix比較多的是courier-authimap的,而courier-authimap不安全,是需要courier-authimap驗證的,普通的postfix也是不安全的,也是需要驗證的,通常postfix結合sasl比較多,但是這樣形成的MTA密碼是不加密的,通常在這種情況下還要加上openssl加密,
還有你的用戶名和密碼怎麼存儲,通常用mysql存儲,管理mysql的話一般要phpmyadmin,而phpmyadmin是需要httpd+php平台下的,
還有你的郵件需要webmail功能的話是需要webmail等軟體的,
我說那麼多,你可能不明白,
如果你想簡單一點的話,用iredmail,emos都比較不錯
如果你想自己搭建的話
postfix+sasl+openssl+courier-authlib+courier-imap+apache+php+extmail+extman+mysql
自己去網上搜一下吧,我當時光明白架構就用了1個星期,全部搭建完用了1個月,祝你好運