『壹』 到底誰牛 linux郵件伺服器軟體比較
幾年以前,Linux環境下可以選擇 的可以免費郵件伺服器軟體只有Sendmail,但是由晌基瞎於Sendmail的缺鋒中陷,一些開發 者先後開發了若干種其他的郵件伺服器軟體。當前,運行在Linux環境下免費的 郵件伺服器,或者稱為MTA(Mail Transfer Agent)有若干種選擇,比較常見的有Sendmail、Qmail、Postfix、 exim及Zmailer等等。本文希望通過對幾種影響相對來說比較大的主流Linux環境 下的MTA的特點進行闡述,並對其優缺點一一分析比較,使用戶在選擇Linux 環境下的免費MTA時有一個選擇的依據。
一、Postfix
Postfix是一個由IBM資助下由Wietse Venema 負責開發的自 由軟體工程的一個產物,其目的是為用戶提供除sendmail之外的郵件伺服器選擇 。Postfix力圖做到快速、易於管理、提供盡可能的安全性 ,同時盡量做到和sendmail郵件伺服器保持兼容性以滿足用戶的使用習慣。起初 ,Postfix是以VMailer這個名字發布的,後來由於商標上的原因改名為Postfix。
1.主要設計目標
Postfix工程的目標是實現一個郵件伺服器,提供給用戶除sendmail以外的選 擇。其設計目標包括:
性能: Postfix要比同類的伺服器產品速度快三倍以上,一個安裝 Postfix的台式機一天可以收發百萬封信件。Postfix設計中採用了web伺服器的 的設計技巧以減少進程創建開銷,並且採用了其他的一些文件訪問優化技術以提 高效率,但同時保證了軟體的可靠性。
兼容性:Postfix設計時考慮了保持Sendmail的兼容性問題,以使移植變 的更加容易。Postfix支持/var[/spool]/mail, /etc/aliases, NIS, 及 ~/.forward等文件。然而 Postfix為保證管理的簡單性,所以沒有支持配置文件 sendmail.cf。
安全和健壯性:Postfix設計上實現了程序在過量負載情況下仍然保證程 序的可靠性。當出現本地文件系統沒有可用空間或沒有可用內宴空存的情況時, Postfix就會自動放棄,而不是重試使情況變的更糟。
靈活性:Postfix結構上由十多個小的子模塊組成,每個子模塊完成特定 的任務,如通過SMTP協議接收一個消息,發送一個消息,本地傳遞一個消息,重 寫一個地址等等。當出現特定的需求時,可以用新版本的模塊來替代老的模塊, 而不需要更新整個程序。而且它也很容易實現關閉某個功能。
安全性:Postfix使用多層防護措施防範攻擊者來保護本地系統,幾乎每 一個Postfix守護進程都能運行在固定低許可權的chroot之下,在網路和安全敏感 的本地投遞程序之間沒有直接的路徑—一個攻擊者必須首先突破若干個其他的程 序,才有可能訪問本地系統。Postfix甚至不絕對信任自己的隊列文件或IPC消息 中的內容以防止被欺騙。Postfix在輸出發送者提供的消息之前會首先過濾消息 。而且Postfix程序沒有set-uid。
2.Postfix的一些特點
支持多傳輸域:Sendmai支持在Internet, DECnet, X.400及UUCP之間轉發消息。 Postfix則靈活的設計為無須虛擬域 (vistual domai)或別名來實現這種轉發。但是在早期的發布里僅僅支持STMP和有限度 地支持UUCP,但對於我國用戶來說,多傳輸域的支持沒有什麼意義。
虛擬域:在大多數通用情況下,增加對一個虛擬域的支持僅僅需要改變一個 Postfix查找信息表。其他的郵件伺服器則通常需要多個級別的別名或重定向來 獲得這樣的效果。
UCE控制 (UCE,unsolicited commercial email): Postfix能限制哪個主機允許通過自身轉發郵件,並且 支持限定什麼郵件允許接進。Postfix實現通常的控制功能:黑名單列表、RBL查 找、HELO/發送者DNS核實。基於內容過濾當前沒有實現。
表查看: Postfix沒有實現地址重寫語言,而是使用了一種擴展的表查看來實現地 址重寫功能。表可以是本地 dbm或 db文件等格式。
3.Postfix體系結構及與Sendmail 的比較
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運 行情況不是很好。
4.安全
Postfix則並一定要以root 的身份運行,而只需要一個主(master)程序以root身份運行,其生成進程來處理 接入、發出及本地郵件投遞工作。通過使用一系列模塊部件,每個任務由一個單 獨的程序來運行(這樣使審計變的容易一些)。例如發出郵件被卸載到一個隊列目 錄,在這里「pcikup」程序取到該郵件然後將郵件傳遞給「cleanup」程序,其再 將郵件傳遞給「trivial-rewrite」,其負責處理郵件頭,最後若郵件目的是別 的系統則將郵件傳遞給「smtp」程序。而且相對於Sendmail來說Postfix也更容 易設置chrooted環境。只要簡單地通過編輯master.cf(一般位於/etc/postfix 內)文件即可實現,並且Postfix將運行chrooted,以限定在其定義的隊列目錄之 下(通常位於/var/spool/postfix),同樣可以在master.cf中對Postfix的單一模 塊設置進程限制。用戶可以限制Postfix以哪個用戶的身份運行,一般來說是以 「postfix」用戶(概念上該用戶和Apache的nobody類似)運行,該用戶可以訪問 特定的隊列目錄。Postfix其他的主要優點是起配置文件的清晰易懂性。
5.與Sendmail的比較
如sendmail之類的郵件系統 是按照一個"單塊"的結構設計實現的,該「單塊」程序實現所有的功 能。當然這種結構有利於在系統的不同部分之間共享數據。但是這種結構容易出 現一些致命的錯誤。而如qmail的郵件系統上使用一種分層次的結構,按照固定 得順序運行不同功能的子模塊進程,執行完畢之後就將其釋放。這種方法有良好 的「絕緣」性,但是增加了進程創建開銷和進程間通信開銷。但是通過合理的規 劃子模塊進程的運行順序可以將開銷保持在可以接受的范圍內。
使用其他的MTA替代Sendmail是一 件非常麻煩的事情,用戶往往又要花大量的時間去熟悉新的MTA的配置和使用。 而使用Postfix,你可以利用很多以有的配置文件。如(access, aliases, virtusertable等等),只需要簡單的在master.cf中定義一下即可。此 外,Postfix在行為上也很象Sendmail,用戶可以使用"sendmail"命令 來啟動Postfix。
當然,使用一個軟體來替代另外一個軟體需要解決特定的問題。部分原因是因為 Postfix的安全特性,在配置Postfix時可能會遇到一些問題。最典型的問題是向 root用戶發送郵件。Postfix一般不提高自身的許可權(向root用戶發送郵件所必須 的)來投遞郵件。用戶需要在別名文件中為root定義別名,如:"root: someuser"。這同樣會對若干個郵件列表模塊發生影響,特別是SmartList 。一般來說實現郵件列表最好使用Majordomo,它易於配置。
Sendmail一個很突出的問題就是可 擴展性和性能問題。例如用戶若希望每天重新啟動Sendmail來實現自動更新配置 文件(如為虛擬主機重定向郵件)就會出現問題。Sendmail生成新的進程來處理發 送和接收郵件,這些進程會一直存在直到傳輸結束,之後Sendmail才能退出,這 樣你的腳本程序將不能正確的重起Sendmail。而對於Postfix,用戶則只需要發 出命令"postfix reload"即可,Postfix將會重新載入其配置文件。
另外,對於有數以萬計的用戶的郵件伺服器來說,使用文件來存儲如匹配用戶發 出郵件地址(例如bob發出的信的發信人修改為)。對於大量用 戶來講,該文件就會變的很巨大,從而影響系統的運行效率。而Postfix則可以 和一個資料庫後台集成起來(當前只支持MySQL)來存放其配置信息,資料庫方式 要比文件方式在可擴展性方面強大很多。
遵從IBM的開放源代碼版權許可證 ,用戶可以自由地分發該軟體,進行二次開發。其唯一的限制就是必須將對 Postfix做的修改返回給IBM公司。因為IBM資助了Wietse的開發。
6.與Qmail的比較
Qmail的缺點就是配置方式和 Sendmail不一致,不容易維護。而且Qmail的版權許可證含義非常模糊,甚至沒 有和軟體一起發布。應用作者的話:若你希望分發自己修改版本的Qmail,你必須得到我的許可。
二、Qmail
Qmail是有Dan Bernstein開發的可以自由 下載的MTA,其第一個beta版本0.70.7發布於1996年1月24日,1997年2月發布了 1.0版,當前版本是1.03。
1.Qmail的特點
安全性:為了驗證Qmail的安全性,Qmail的支持者甚至出資$1000懸賞尋找 Qmail的安全漏洞,一年以後,該獎金沒有被領取,而被捐獻給自由軟體基金會 。目前,Qmail的作者也出資$500來尋求Qmail的安全漏洞。
速度:Qmail在一個中等規模的系統可以投遞大約百萬封郵件,甚至在一 台486一天上能處理超過10萬封郵件,起支持並行投遞。Qmail支持郵件的並行投 遞,同時可以投遞大約20封郵件。目前郵件投遞的瓶頸在於SMTP協議,通過STMP 向另外一台互聯網主機投遞一封電子郵件大約需要花費10多秒鍾。Qmail的作者 提出了QMTP(Quick Mail Transfer Protocol)來加速郵件的投遞,並且在Qmail中得到支持。 Qmail的設計目標是在一台16M的機器上最終達到每天可以投遞大約百萬級數目的 郵件。
可靠性:為了保證可靠性,Qmail只有在郵件被正確地寫入到磁碟才返回 處理成功的結果,這樣即使在磁碟寫入中發生系統崩潰或斷電等情況,也可以保 證郵件不被丟失,而是重新投遞。
特別簡單的虛擬域管理:甚至有一個第三方開發的稱為vchkpw的add-on來支持虛 擬POP域。使用這個軟體包,POP3用戶不需要具有系統的正式帳戶。使用ezmlm支持用戶自控制的郵件列表功能。
郵件用戶和系統帳戶隔離,為用戶提供郵件帳戶不需要為其設置系統帳戶 ,從而增加了安全性。
2.Sendmail VS Qmail
首先:sendmail是 發展歷史悠久的MTA,當前的版本是8.10.2。當然,Sendmail在可移植性、穩定 性及確保沒有bug方面有一定的保證。但是Internet上有很多帖子都是關於如果 攻擊Sendmail,這對於管理員來說是一個噩夢。Sendmail在發展過程中產生了一批經驗豐富的Sendmail管理員,並且 Sendmail有大量完整的文檔資料,除了 Sendmail的寶典: OReillys sendmail book written by Bryan Costales with Eric Allman以外,網路上有大量的tutorial、FAQ和其他的資源。這些大量的文檔對於很好的利用 Sendmail的各種特色功能是非常重 要的。但是Sendmai當前來說是一個成熟的MTA。
當然,Sendmail具有一些缺點,其特色功 能過多而導致配置文件的復雜性。當然,通過使用m4宏使配置文件的生成變的容 易很多。但是,要掌握所有的配置選項是一個很不容易的事情。Sendmail在過去 的版本中出現過很多安全漏洞,所以使管理員不得不趕快升級版本。而且 Sendmail的流行性也使其成為攻擊的目標,這有好處也有壞處:這意味著安全漏 洞可以很快地被發現,但是同樣使Sendmail更加穩定和安全。另外一個問題是 Sendmail一般預設配置都是具有最小的安全特性,從而使Sendmail往往容易被攻 擊。如果使用Sendmail,應該確保明白每個打開的選項的含義和影響。一旦你理 解了Sendmail的工作原理,就Sendmail的安裝和維護就變的非常容易了。通過 Sendmail的配置文件,用戶實現完成一切可以想像得到的需求。
Qmail是一個選擇, 其在設計實現中特別考慮了安全問題。如果你需要一個快速的解決方案如,一個 安全的郵件網關,則Qmail是一個很好的選擇。Qmail和Sendmail的配置文件完全 不同。而對於Qmail,其有自己的配置文件,配置目錄中包含了5-30個不同的文 件,各個文件實現對不同部分的配置(如虛擬域或虛擬主機等)。這些配置說明都 在man中有很好的文檔,但是Qmail的代碼結構不是很好。
Qmail要比Sendmail小很多,其缺 乏一些現今郵件伺服器所具有的特色功能。如不象Sendmail,qmail不對郵件信 封的發送者的域名進行驗證,以確保域名的正確性。自身不提供對RBL的支持, 而需要add-on來實現。,而Sendmail支持RBL。同樣Qmail不能拒絕接收目的接收 人不存在信件,而是先將郵件接收下來,然後返回查無此用戶的的郵件。Qmail 最大的問題就出在發送郵件給多個接收者的處理上。若發送一個很大的郵件給同 一個域中的多個用戶,Sendmail將只向目的郵件伺服器發送一個郵件拷貝。而 Qmail將並行地連接多次,每次都發送一個拷貝給一個用戶。若用戶日常要發送 大郵件給多個用戶,使用Qmail將浪費很多帶寬。可以這么認為:Sendmail優化 節省帶寬資源,Qmail優化節省時間。若用戶系統有很好的帶寬,Qmail將具有更 好的性能,而如果用戶系統的帶寬資源有限,並且要發送很多郵件列表信息,則 Sendmail效率更高一些。Qmail不支持.forward(.forward在很多情況下對用戶很 有用處);不使用/var/spool/mail,而是將郵件存放在用戶home目錄。下面是一 些使用Qmail不容易完成的工作,要使用Qmail完成這些工作,可能需要用戶自己 動手實現或者使用第三方提供的不夠可靠的模塊。
Qmail的源代碼相對於Sendmail來說要更加容易理解,這對於希望深入到內 部了解MTA機制的人員來說是一個優點。Qmail在安全性方面也要穩定一些。 Qmail 有很好的技術支持,但是沒有象Sendmail那樣被廣泛地應用和大量 的管理員用戶群。Qmail的安裝不象Sendmail那樣自動化,需要手工步驟。而且 Qmail的文檔不如Sendmail那樣完整和豐富。
Qmail的add-ons比 Sendmail要少一些。一般來說對於 經驗稍微少一些的管理員,選擇Qmail相對要好一些。 Qmail 要簡單一些,而且其特色功能能滿足一般用戶的需求。Sendmail類似於office套 件,80%的功能往往都不被使用。這就使Qmail在一些場合可能被更受歡迎一些, 其具有一些Sendmail所沒有的更流行和實用的特色功能,如:Qmail具有內置的 pop3支持。Qmail同樣支持如主機或用戶的偽裝、虛擬域等等。Qmail的簡單性也 使配置相對容易一些。
Qmail被認為相對於Sendmail更加安全和高效,運行 Qmail的一台pentium機器一天可以處理大約 200,0000條消息。
Qmail相對於其他的MTA要簡單很多,主要體現在:
(1)其 他的MTA的 郵件轉發、郵件別名和郵件列表都是採用相互獨立的機制,而qmail 採用一種簡單的轉發(forwarding)機制來允許用戶處理自己的郵件列表
(2)其他的MTA都 提供快速而不安全的方式及慢的隊列方式的郵件投遞機制;而qmail 發送是由新郵件的出現而觸發的,所以其投遞只有一種模式:快速的隊列方式
(3)其他的MTA實 際上包括一個特定版本的inetd 來監控MTA的 平均負載,而qmail 設計了內部機制來限制系統負載,所以qmail-smtpd 能安全地從系統的inet來 運行sendmail有很多 的商業支持,而且由於大量的用戶群,在互聯網上有大量的潛在技術支持。而 Qmail只有很有限的技術支持。有家公司提供對Qmail的支 持,該公司同樣提供了免費的add-ons,包括一個基於web的管理工具-QmailAdmin及一個通過vpopmail的對虛擬域的支持,甚至具有一個基於web的客戶借介面— SqWebMail。
Qmail還具有一些其他的缺憾。如 它不是完全遵從標准,它不支持DSN,作者認為DSN是一個即將消亡的技術,而 Qmail的VERP可以完成同樣的工作,而又不象DSN依賴於其他主機的支持。Qmail 另外一個問題是其不遵從支持7bit系統標准,而每次都發送8bit。若郵件接收一 方不能處理這種情況,就會出現郵件亂碼的情況。
從安全性來講,Sendmail要比 Qmail差一些,Sendmail在發展中出現過很多很著名的安全漏洞;而Qmail相對要 短小精悍,但是仍然提供了基本的STMP功能。而Qmail的代碼注釋要少一些。 Qmail的一個很好的特色是其支持一種可選的基於目錄的郵件存儲格式,而不是 使用一個很大的文件來存儲用戶所有的郵件。若用戶的郵件伺服器進行很多的 POP3服務,則這種郵件存儲格式可以提高效率。但是遺憾的是Pine自身並不支持 這種存儲格式,如果需要可以使用一些補丁來達到這個目的。
Qmail的優點是:每個用戶都可以 創建郵件列表而無須具有根用戶的許可權,如用戶"foo"可以創建名為 foo-slashdot, foo-linux,foo-chickens 的郵件列表,為了提供更好的功能,有一個叫 ezmlm(EZ Mailing List Maker)的工具可以支持自動注冊和注銷、索引等Majordomo所具有 的各種功能,但是都是CLI驅動的,只需要編輯很少的文件。Qmail非常適合在小 型系統下工作,一般只支持較少的用戶或用來管理郵件列表。Qmail速度快並且 簡單:Qmail是當你希望安全切容易配置的最佳的選擇;Qmail可以在2個小時內 搞定配置,而Sendmail可能在兩天內都搞不定。rocketmail internic 等都使用qmail來構建。
三、ZMailer
ZMailer是一個高性能、多 進程的Unix系統郵件程序。 [ a.k.a. MTA per X.400 parlance ],其可以從下面的伺服器ftp://ftp.funet.fi/pu b/unix/mail/zmailer/ 自由下載。其也是按照單塊模式設計的。如Hotmail等郵件系統就是用Zmailer構建的。
四、Exim
Exim是由Cambridge 大學開發的遵從GPL的MTA,其風格上類似與Smail 3 ,但是比Smail 3更加完善。當前最新版本是3.15。其主站點為。其最大的特點就是 配置簡單性,但是其安全性不如Qmail及Postfix。
下面是對幾種MTA的特點的比較,綜合的來講,Qmail和 Postfix都是很不錯的MTA,選擇的標准往往是個人的喜好問題,Postfix發展歷史 要比Qmail遲一些。
MTA 成熟性 安全性 特色 性能 Sendmail兼容性 模塊化設計 qmail medium high high high addons yes Sendmail high low high low x no Postfix low high high high yes yes exim medium low high medium yes no
當然除了這里介紹的幾種MTA以外,還有 Smail, Post.Office, the Sun Internet Mail Server (SIMS), MMDF, CommuniGate, PMDF, Netscape Messaging Server,Obtuse smtpd/smtpfwdd,Intermail,MD Switch等其他商業或者免費的MTA可以選擇。
『貳』 redhatenterpriselinux7的內核程序存儲於那個目錄
管理類文件夾: /boot 該目錄默認下存放的是Linux的啟動文件和內核,例如LILO或GRUB的文件。 /initrd 它的英文含義是boot loader initialized RAM disk,就是由boot loader初始化的內存檔。在linux內核啟動前,boot loader會將存儲介質(一般是硬碟)中的initrd文件載入到內存,內核啟動時會在訪問真正的根文件系統前先訪問該內存中的initrd文件系統。 /bin 該目錄中存放Linux的常用命令。 /sbin 該目錄用來存放系統管理員使用的管理程序。 /var 該目錄存放那些經常被修改的文件,包括各種日誌、數據文件。如果做mail server,則需在Linux安裝時將該目錄設梁裂置為大空間。 /etc 該目錄存放系統管理時要用到的各種配置文件和子目錄,例如網路配置文件、文件系統、X系統配置文件、設備配置信息、設置用戶信息等。如果做web server,則需在Linux安裝時將該目錄設置為大空間。 /dev 該目錄包含了Linux系統中使用的纖攜所有外部設備,它實際上是訪問這些外部設備的埠,訪問這些外部設備與訪問一個文件或一個目錄沒有區別。例如在系統中鍵入「cd /dev/cdrom」就可以看到光碟機中的文件。 /mnt 該目錄默認下有2個分別對應光碟機和軟碟機的文件夾cdrom和floppy。你可以臨時將別的文件系統掛在該目錄下,例如「掛載光碟機mount/dev/cdrom /mnt/cdrom,查看光碟機cd /mnt/cdrom」,養成良好習慣不使用時及時卸載「umount /mnt/cdrom」。 二、用戶類文件夾: /root 如果你是以超級用戶的身份登錄的,這個就是超級用戶的主目錄。 /home 如果建立一個名為「xx」的用戶,那麼在/home目錄下就有一個對應的「/home/xx」路徑,用來存放該用戶的主目錄。
三、應用程序類文件夾: /usr 用戶的應用程序和文件幾乎都存放橡豎閉在該目錄下。
『叄』 如何在Linux命令行中通過SMTP伺服器發送電子郵件
假定你想配置一個 Linux 應用,用於從你的伺服器或桌面客戶端發送郵件信息。郵件信息可能是郵件簡報、狀態更新(如 Cachet)、監控警報(如 Monit)、磁碟時間(如 RAID mdadm)等等。當你要建立自己的 郵件發送伺服器 傳遞信息時 ,你可以替代使用一個免費的公共 SMTP 伺服器,從而避免遭受維護之苦。
谷歌的 Gmail 服務就是最可靠的 免費 SMTP 伺服器 之一。想要從應用中發送郵件通知,你僅需在應用中添加 Gmail 的 SMTP 伺服器地址和你的身份憑證即可。
使用 Gmail 的 SMTP
伺服器會遇到一些限制,這些限制主要用於阻止那些經常濫用伺服器來發送垃圾郵件和使用郵件營銷的傢伙。舉個例子,你一次只能給至多 100
個地址發送信息,並且一天不能超過 500
個收件人。同樣,如果你不想被標為垃圾郵件發送者,你就不能發送過多的不可投遞的郵件。當你達到任何一個限制,你的 Gmail
賬戶將被暫時的鎖定一天。簡而言之,Gmail 的 SMTP 伺服器對於你個人的使用是非常棒的,但不適合商業的批量郵件。
說了這么多,是時候向你們展示 如何在 Linux 環境下使用 Gmail 的 SMTP 伺服器 了。
Google Gmail SMTP 伺服器設置
如果你想要通過你的應用使用 Gmail 的 SMTP 伺服器發送郵件,請牢記接下來的詳細說明。
郵件發送伺服器 (SMTP 伺服器): smtp.gmail.com
使用認證: 是
使用安全連接: 是
用戶名: 你的 Gmail 賬戶 ID (比如 "alice" ,如果你的郵箱為 [email protected])
密碼: 你的 Gmail 密碼
埠: 587
確切的配置根據應用會有所不同。在本教程的剩餘部分,我將向你展示一些在 Linux 上使用 Gmail SMTP 伺服器的應用示例。
從命令行發送郵件
作為第一個例子,讓我們嘗試最基本的郵件功能:使用 Gmail SMTP 伺服器從命令行發送一封郵件。為此,我將使用一個稱為 mutt 的命令行郵件客戶端。
先安裝 mutt:
對於 Debian-based 系統:
$ sudo apt-get install mutt
對於 Red Hat based 系統:
$ sudo yum install mutt
創建一個 mutt 配置文件(~/.muttrc),並和下面一樣,在文件中指定 Gmail SMTP 伺服器信息。將 替換成自己的 Gmail ID。注意該配置只是為了發送郵件而已(而非接收郵件)。
$ vi ~/.muttrc
set from = "@gmail.com"set realname = "Dan Nanni"set smtp_url = "smtp://@smtp.gmail.com:587/"set smtp_pass = ""
一切就緒,使用 mutt 發送一封郵件:
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected]
想在一封郵件中添加附件,使用 "-a" 選項
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected] -a ~/test_attachment.jpg
使用 Gmail SMTP 伺服器意味著郵件將顯示是從你 Gmail 賬戶發出的。換句話說,收件人將視你的 Gmail 地址為發件人地址。如果你想要使用自己的域名作為郵件發送方,你需要使用 Gmail SMTP 轉發服務。
當伺服器重啟時發送郵件通知
如果你在 虛擬專用伺服器(VPS)
上跑了些重要的網站,建議監控 VPS 的重啟行為。作為一個更為實用的例子,讓我們研究如何在你的 VPS
上為每一次重啟事件建立郵件通知。這里假設你的 VPS 上使用的是 systemd,並向你展示如何為自動郵件通知創建一個自定義的 systemd
啟動服務。
首先創建下面的腳本 reboot_notify.sh,用於負責郵件通知。
$ sudo vi /usr/local/bin/reboot_notify.sh
#!/bin/sh
echo "`hostname` was rebooted on `date`" | mutt -F /etc/muttrc -s "Notification on `hostname`" [email protected]
$ sudo chmod +x /usr/local/bin/reboot_notify.sh
在這個腳本中,我使用 "-F" 選項,用於指定系統級的 mutt 配置文件位置。因此不要忘了創建 /etc/muttrc 文件,並如前面描述的那樣填入 Gmail SMTP 信息。
現在讓我們創建如下一個自定義的 systemd 服務。
$ sudo mkdir -p /usr/local/lib/systemd/system$ sudo vi /usr/local/lib/systemd/system/reboot-task.service
[Unit]
Description=Send a notification email when the server gets rebooted
DefaultDependencies=no
Before=reboot.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh
[Install]
WantedBy=reboot.target
在創建服務後,添加並啟動該服務。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task
從現在起,在每次 VPS 重啟時,你將會收到一封通知郵件。
通過伺服器使用監控發送郵件通知
作為最後一個例子,讓我展示一個現實生活中的應用程序,Monit,這是一款極其有用的伺服器監控應用程序。它帶有全面的 VPS 監控能力(比如 CPU、內存、進程、文件系統)和郵件通知功能。
如果你想要接收 VPS 上由 Monit 產生的任何事件的郵件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。
set mailserver smtp.gmail.com port 587
username "" password ""
using tlsv12
set mail-format {
from: @gmail.com
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
Yours sincerely,
Monit
}
# the person who will receive notification emails
set alert [email protected]
這是一個因為 CPU 負載超載而由 Monit 發送的郵件通知的例子。
『肆』 linux如何使用chown改變許可權
1:改變擁有者和群組,命令:chown mail:mail server.log。2:猛唯改變文件擁有者和群組,命令:chown root: server.log。3:改變文件群組,命令:chown :mail server.log,4:改變指定目錄以及其子目錄下的所有文件的擁有者和群組。命令:chown -R -v root:mail test6。-R 處理指定目錄以及其子目錄蔽知行下的所有文件宏嘩。-v 顯示詳細的處理信息,盡請關注《linux就該這么學》官網。
『伍』 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
『陸』 141Linux 安裝及配置郵件伺服器
效果截圖
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,電子郵件系統)之一,最早它誕生的時候,Internet 還沒有被標准化,當時主機之間使用的是 UUCP 技術來交換郵件。它被設計得比較靈活,便於配置和運行於各種類型的機器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、體積小、易配置安裝等特性而著稱。作者 D.J.Bernstein 是一個數學教授,富有傳奇色彩。他於 1995 年開發 qmail,1996 年發布 0.70 版,並使用了多種當時比較先進的 技術,包括 Maildir,與 sendmail 單個 binary 不同的模塊化設計,許可權分離,以及使用了大量由他編寫的配套工具,如 daemontool,ucsip-tcp 等。qmai 迅速成為了 Internet 上最有名的 MTA,使用者眾。
postfix :postfix 如今已經獨樹一幟,流水線、模塊化的設計,兼顧了效率和功能。靈活的配置和擴展,使得配置 postfix 變得富有趣味。其主要的特點是速度快、穩定,而且配置/功能非常強大,並和 sendmail 類似,提供了與外部程序對接的 API/protocol。尤其是配置部分,postfix 另一個優勢是至今依然保持活躍的開發工作,而且穩步發展,適合高流量大負載的系統,擴充能力較強。本實驗也是基於 postfix 伺服器軟體來實現。
郵件伺服器基本的工作原理
MUA(Mail User Agent):向外發送郵件,以及提供用戶瀏覽與編寫郵件的功能。
MTA(Mail Transfer Agent):(可以理解為 smtpd 伺服器)幫忙將用戶的郵件傳遞出去或接收進來。
MDA(Mail Delivery Agent):將接收下來的郵件存放到對應用戶郵筒當中的程序。通過分析 MTA 所收到郵件的表頭或內容,來判斷此郵件是屬於哪個用戶,然後決定將此郵件投遞給哪個用戶的郵筒里。
MRA(Mail Retrieval Agent):通過 MRA 伺服器提供的郵政服務協議(POP)來接收自己的郵件。
郵件中繼:
SMTPD 要支持郵件路由功能,需要打開 Open Relay 開放式中繼。
SMTPD 是根據收件人判斷郵件是否需要中繼,而且只給指定的客戶端中繼。
註:當 DNS 上存在多個 MX 記錄的主機這時就是根據 DNS 的郵件級判斷了。DNS 上定義的值越小,其優先順序越高。輔助交換器接受到郵件並不能保存郵件。而是這個輔助交換器會等到主郵件交換器空閑的時候把代替它接受下來的郵件在轉給主郵件交換器。所以任何郵件處理都是主郵件交換器處理的。所以我們實際情況下,如果有 2 台伺服器做郵件交換器,性能比較高的應該為主的。
安裝配置過程中,postfix 通過 Internet 發送和接收 email,並存儲在用戶郵箱里。同時客戶也可以通過 IMAP 或者 POP3 恢復他們的郵件。其中的客戶認證是通過 Courier Authdaemon 模塊的。下圖表示出了這個過程:
出現安裝界面時,首先按下 <tab> 鍵切換到確定,然後按下回車。
安裝 postfix 的時候會問你安裝的伺服器類型,對於我們的需要,我們選擇默認的 Internet Site,這是最符合我們的伺服器類型,然後按下回車確認。
使用 vim 編輯配置文件:
大概在第 31 行,編輯 myhostname,修改為 myhostname = shiyanlou.com。
然後我們把alias_map參數修改為 alias_maps = hash:/etc/postfix/virtual,之後會講解virtual裡面填寫什麼。
之後設置mynetworks段落,它定義可以使用這台伺服器的主機,我們這里就用默認的本地地址。你也可設置為其他地址。
編輯完成後按下 Esc 鍵,輸入 :wq 保存退出。
此命令創建了一個用戶 master,其中 -d 和 -m 選項用來為登錄名 master 產生一個主目錄 /usr/master(/usr 為默認的用戶主目錄所在的父目錄)。
我們編寫之前設置的 virtual 文件,這些郵箱地址是用來傳送郵件的。
在這個文件里,我們將設置一個表,對應相關的郵件地址。
完成後保存關閉文件。
我們可以通過調用下面這個命令來實現我們的映射:
接著我們重啟 postfix,完成我們的修改:
我們可以用 shiyanlou 這個賬號給 master 這個賬號發一封郵件。首先我們需要安裝一個命令行收發郵件的軟體 mailutils 。
寫一封郵件
輸入如下內容:
其中 -s 參數是指郵件的標題,< 後面是將要發送的郵件內容從 hello.txt 中重定向。這個命令如果正確執行不會有輸出。
然後我們切換到 master 用戶,查看我們的郵件。
按下回車建可以查看郵件內容,輸入 quit 即可退出郵箱。
Linux 郵件伺服器原理介紹,編譯安裝 Postfix 實現本地的郵件服務
Ubuntu 伺服器指南-郵件服務-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
『柒』 mail伺服器 配置方法
搭建一套郵件系統其實並不是一件龐大的工程,一套郵件系統的搭建構成可以分為以下三個部分:郵件伺服器硬體、域名和固定ip地址、郵件伺服器軟體,搭建的便捷與否決定於郵件伺服器軟體的易用程度。(本文章以turbomail為例進行郵件系統的搭建說明)
一,郵件伺服器硬體:最低配置要求piii以上,512m內存,硬碟在40g以上。
二,域名和ip地址:需要有獨立的域名,並有更改mx記錄的許可權,內網用戶可以使用自定義域名;需要有互聯網固定ip,沒有固定ip採用動態ip綁定域名軟體也可。
三,郵件伺服器軟體:目前市場上的郵件伺服器軟體很多,比如exchange, mdaemon,imail,turbomail等,價格不等,質量也不等,售後服務也不等,建議用戶綜合比較價格,質量和技術服務,並索取試用期進行測試後進行選擇(本文章以turbomail為例進行郵件系統的搭建說明)
搭建步驟:
一,在購進了伺服器硬體後首先是要安裝操作系統,建議用戶使用linux操作系統,非常穩定,在熟悉代碼後操作也不麻煩,郵件伺服器最關鍵的就是穩定性,有了好的操作系統就有了穩定的保障。
二,域名請向域名供應商申請,國內比較大的有萬網和新網,域名供應商提供域名解析的服務;mx記錄可以通過域名供應商提供的管理界面進行修改。
三,有了這以上兩個前提後就可以安裝郵件伺服器軟體了。不同的郵件伺服器軟體的安裝方法和簡易度不同,我以國內最易安裝的turbomail郵件伺服器為例講解安裝過程:
1,下載安裝包,請上官網直接下載。
2a,windows系統:雙擊下載的安裝包,按照安裝提示完成安裝
3a,重啟電腦
4a,電腦重啟後,自動出現turbomail控制台,點擊「運行mail伺服器」和「運行webmail伺服器」,啟動郵件服務程序
1b,linux/solaris/aix/hp-ux/freebsd系統下:以root用戶登錄,解壓安裝包,生成turbomail安裝目錄,解壓命令為:#tar -xvzfturbomail_linux_yyy_xxx.tgz
(注意:turbomail安裝包必須放在根目錄上)
2b,啟動turbomail server,進入turbomail目錄,執行starttm.sh,命令為:#./starttm.sh
3b,啟動webmail服務,進入進入 turbomail/web/bin 目錄,執行startup.sh。
命令為:#./startup.sh
4b,啟動反垃圾服務,進入 turbomail/sa目錄,執行sa_server.sh。命令為: #./sa_server.sh
四,郵件系統已經安裝完畢,登錄http://伺服器ip:8080/maintlogin.jsp 進入管理員界面,添加域和用戶後即可正式使用郵件系統了。
這樣,您的郵件系統就已經搭建完畢,之後就需要做一些郵件伺服器軟體的細節性能配置工作,比如用戶郵箱大小控制,收發郵件許可權控制,反垃圾反病毒功能設置等等,這些就需參考郵件伺服器軟體供應商的使用說明書和咨詢技術工程師了。
『捌』 linux 命令模式下怎麼配置郵件伺服器
Linux什麼系統的?如果是AS5.5的話...那我現在在下面打的就是=
=...
十分還真不好拿啊~建議LZ加點分-
-看在寫的那麼辛苦的份上..
物理機IP:192.168.10.100
域名:www.aiy.com
首先先設置DNS
mkdir
/mnt/cdrom
mount
-t
iso9660
/dev/cdrom
/mnt/cdrom
(掛載ISO...因為我用的是虛擬機=
=沒有光碟..)
cd
/mnt/cdrom/Server/
rpm
-ivh
caching-chroot-9.3.3-7.el5.i386.rpm
rpm
-ivh
bind-*
vim
/etc/name.rfc1912.zones
=
=裡面配置文件太長了...直接說哪一行吧-
-反正都差不多~只要是AS5.5的話
15行:localdomin修改為aiy.com
17行:localdomain.zone改為aiy.com.zone
27行:0.0.127改為本地前三位倒過來...10.168.192
29行:name.local改為192.168.10.zone
輸入Shift+;
然後輸入wq!強制保存並退出
vim
/etc/named.caching.nameserver.conf
15行127.0.0.1改為any
23行localhost改為any
32行、33行localhost改為any
cd
/var/named/chroot/var/named
cp
-p
localdomain.zone
aiy.com.zone
cp
-p
named.local
192.168.10.zone
vim
aiy.com.zone
在最後加mail
(TAB鍵對齊就好了)
IN
A
192.168.10.100
aiy.com
IN
MX
5
mail.aiy.com
同樣
輸入Shift+;
然後輸入wq!強制保存並退出
vim
192.168.10.zone
同樣在最後加100
IN
PTR
mail.aiy.com(注意空格同樣是tab)
輸入Shift+;
然後輸入wq!強制保存並退出
(=
=下面的話這兩句忽略掉了...太麻煩了)
ln
-s
aiy.com.zone
/var/named/
ln
-s
192.168.3.zone
/var/named/
vim
/etc/resolv.conf
nameserver
192.168.10.100
service
named
restart
試試
nslookup
mail.aiy.com
=
=DNS打完...然後MAIL等下繼續..先提交保存=
=
-
-現在繼續..
-
-繼續...掛載省略了...直接安裝
cd
/mnt/cdrom/Server
rpm
-ivh
m4-*
rpm
-ivh
sendmail-*
(一開始安裝系統時候我沒安裝...所以現在掛載~如果一開始有選sendmail的話54掉就可以了..=
=再次~)
前面其實就設置好了mail服務的DNS...
cd
/etc/mail
vim
local-host-names
在最下面輸入aiy.com
vim
sendmail.mc
116行127.0.0.1改為0.0.0.0
m4
sendmail.mc
>
sendmail.cf
cd
/etc/init.d
./saslauthd
restart
./sendmail
restart
./dovecot
restart
useradd
aiy
建立aiy用戶
passwd
aiy
123456
123456
用戶aiy密碼設置為123456
mail
[email protected]
123
(標題)
123
(內容)
ctrl+d
然後信息就發完了..
T.T終於輪到測試了~...
su
aiy
切換到aiy用戶
mail
查看aiy用戶的mail
=
=這樣就完了...現在發現aiy裡面有份root郵件吧...T.T
還能輸入
8917
字-
-不知不覺打了很多字了=
=
我QQ
1842534312不懂可以問我..
-0-可以轉載~但是請保留全部...