• 沒有找到結果。

Mail Server 等相關應用 (for linux)

N/A
N/A
Protected

Academic year: 2021

Share "Mail Server 等相關應用 (for linux)"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

逢甲大學

資 訊 工 程 學 系 專 題 報 告

Mail Server等相關應用(for

linux)

湯 義 光 (四甲)

學生: 許 俊 彥 (四甲)

陳 銘 宏 (四甲)

李 津 源 (四甲)

授 : 李 維 聰

中華民國九十一年十二月

(2)

目 錄

圖表目錄 ... Ⅲ 摘要 ...Ⅳ 第一章 研究動機及目的...1 第二章 系統介紹...3 2.1 郵件系統的介紹...3 2.2 Linux郵件伺服器軟體比較...7 2.3 Window郵件伺服器軟體比較...21 2.4 說明各種MailServer之優缺點...37 第三章 系統描述...38 3.1 主機配備...38 3.2 所採用的軟體套件...38 第四章 分工方法...39 4.1 分工表...39 4.2 甘特圖...40 第五章 專題內容...41 5.1 SMS功能介紹...41 5.1.1 如何把簡訊功能加入Mail Server...45 5.1.2 簡訊功能操作方法...47

(3)

5.1.3 問題及解決辦法...48 5.2 Mail Log之分析...49 5.2.1 功能介紹...49 5.2.2 操作方法...50 5.2.3 問題與解決...54 5.3 網頁顯示...55 5.3.1 功能介紹與操作方法...56 5.3.2 問題與解決方法...58 第六章 結論與建議...59 第七章 心得 ...61

(4)

圖表目錄

圖 1. 郵件的傳遞流程圖...6 圖 2. MS EXCHANGE 系統架構圖...30 圖 3. 甘特圖...40 圖 4. SMS 架構圖...44 圖 5. Send 表單圖...53 圖 6. Receive 表單圖...54 圖 7. 使用者登入圖...56 圖 8. 登入資料錯誤圖...56 圖 9. 查詢圖...56 圖 10.查詢結果圖...57 表 1. 各種 MailServer 之優缺點表...37 表 2. 所採用的軟體套件表...38 表 3.分工表...39

(5)

摘要

電子郵件(E-mail)在今日已經被大量使用,無論是商業上的交 易,或是學術意見上的交換溝通,電子郵件都具有即時及便利性。在 操作上現今大部分的使用者介面都已經非常的具有親和力,也具備了 許多方便使用的功能,對於一個使用者來說,只需要簡單按幾次滑 鼠,輸入信件內容即可;但對於一個郵件伺服器的管理者而言,一天 內常有龐大的郵件量進出,累積下來的數量更是可觀,若沒有針對郵 件做分類或管理,一旦在郵件中附帶龐大的檔案,或利用駭客程式藉 著此伺服器傳送大量的廣告信件,諸如這些導致系統大部分資源被少 數人不合理使用的動作就無法很容易的看出來,因此能有效的管理郵 件,並針對不尋常郵件加以挑出,對伺服器的管理維護人員就變的非 常的重要。我們的系統是建立在 Linux 的作業系統上,利用 Perl 來 分析 Sendmail 中的紀錄檔(log)後,導入 MySQL 中以網頁顯示出來, 另外也為了提高接收郵件訊息的效率,系統中在有新郵件送達時便會 發出手機簡訊予該收件人,隨時掌握自己信箱的動向,避免錯過任何 重要的訊息。

(6)

第一章 研究動機及目的

傳統信件的使用已經漸漸被大量使用的電子數位化的電子郵件 (E-mail)代替,在電子郵件發展至今已經針對使用者提供了很多方 便的介面及工具,由原本利用文字模式選單到視窗軟體,甚至今日幾 乎所有的電子郵件公司都可以讓使用者在 Web 上收發信件。但是對一 個管理者來說,系統的資訊才是最有效最直接能看出使用者在使用上 的效果,但是安裝好一個郵件伺服器之後往往只有使用上的功能,隨 然每個不同的郵件伺服器都有系統紀錄檔在,但系統紀錄檔本身的規 格有它的含意,且郵件每天若以上千封以上來算,在資料的上完全無 法很容易的看出有沒有在正常下不合理甚至不合法的使用,也無法長 時間的追蹤或有方便的數據可以給管理者判斷。另外也由於電子郵件 通常都從電腦上操作,若使用者正在等一封很重要的郵件卻又不知道 郵件什麼時候進來,若能以其他的方式來通知使用者,如此一來使用 者便不用長時間的守在電腦前面,可以在接到郵件通知時在到電腦前 操作,除了增加個人時間上的彈性外,也讓系統更具有即時性及親和 力。 因此專題在選擇時就以此為動機,希望能學習建立一個可使用的 郵件伺服器,並對本系統所選的伺服器 Sendmail 之 maillog 作分析, 以時間作為範圍選擇,並以網頁的方式簡單且清楚的顯示出來。而在 郵件接收通知上,爲了達到預期的結果,我們利用現在普遍性很高的 手機簡訊來作為接收到郵件的通知,當系統收到新進郵件時,便通知

(7)

使用者收到新郵件,同時告訴使用者現在該信箱中有多少未讀信件。 而在此動機下我們建構的系統有以下的目的: 1. 具有基本的電子郵件功能,並有轉信等機制。 2. 對冗長的紀錄檔以其有的固定格式加以分析,切割需要的資 料單位至資料庫,再以網頁形式展現出來,一方面減少管理 者閱讀費時費力的紀錄檔外,同時也能隨時在線上得知郵件 的使用狀況。 3. 在查詢時主要能顯示各使用者的流量及郵件數目的排序狀 況,並有時間作為切割的選擇,讓管理者得以從一段時間來 判別使用是否有異常。 4. 利用自動化定時檢查 mail spool,能在最短的時間內以 SMS 的簡訊傳送通知使用者有新進信件,使用者在獲知訊息外同 時也能得知目前有多少未讀信件。

(8)

第二章 系統介紹

2.1 郵件系統的介紹 電子郵件〈Electronic-Mail〉是透過電腦網路來傳遞訊息, 是 Internet 上一種相當普遍的應用。使用者只需要透過電子郵件程式 (MUA)連接電子郵件伺服器 (MTU)做電子郵件的收發。電子郵件伺服 器會根據電子郵件通訊協定 (SMTP) 中所指的收件者電子郵件位 址,將電子郵件傳遞至目的端的電子郵件伺服器.。電子郵件通訊協 定 (SMTP) 中所指的寄件者與收件者就如同一般郵件之信封上註明 的寄件人及收件人,電子郵件伺服器就如同郵差一般,忠實的將信件 依據信封上的收件人傳送,其並不會拆開信件,只看信件中 header 所標明之 From 及 To 欄位.。收件者可至電子郵件伺服器讀取信件 或透過郵遞通訊協定(POP)將信件取回至個人電腦。

MUA 和 MTA ﹐它們分別是 Mail User Agent 和 Mail Transfer Agent 的意思。MUA 就是平時用的 Outlook Express﹑Netscape Mail﹑ 或是 Linux 上面的 pine,簡單說 MUA 是用來給使用者流覽郵件和

書寫郵件的程式。那 MTA 就叫郵件伺服器( Mail Server )﹐它負責 MUA

的請求﹐也負責將郵件從一個 MTA 傳到另一個 MTA 。通常一個 MTA 都可以支持好幾種郵件協定﹐例如﹕UUCP﹑SMTP﹑POP、IMAP 等。 UUCP (Unix to Unix Communication Protocol) 現在已經比較少用了﹐取

(9)

而代之的是 SMTP (Simple Mail Transfer Protocol:簡易郵件傳送 協定) 和 POP (Post Office Protocol: 郵局通訊協定) 這兩個協 定。

郵件協定 .SMTP

負責的將郵件從 MUA 上傳給 MTA﹐也是 MTA 和 MTA 之間的郵件 傳遞協定,smtp 是 ineternet 上最主要的電子郵件通訊協定,它是 一種 push(推)方式的 e-mail 協定,把不屬於自已的 e-mail 訊息, 推送出去,直接或逐漸的讓 e-mail 訊息靠近目的主機,由此可見 smtp 是 internet mail server 上必備支援的通訊協定。

.POP

而在沒有 POP 之前﹐email 的使用者一般都要用 telnet 或其 它遠端控制程式連上 MTA 那裡﹐然後在那裡閱讀郵件﹐而有了 POP 之後﹐ MTA 可以將使用者的郵件存在一個檔案裡﹐然後使用者通過 MUA 連到 MTA ﹐再將信件下載回本地機器閱讀。另外﹐ MUA 和 MTA 都無需是同一個廠家的軟體﹐只要雙方都支持 POP 協定就可以了﹐ 其靈活性是不言而喻的了。我們用 MUA 撰寫郵件之後﹐是通過 SMTP 協定上傳給 MTA 的﹔而閱讀郵件則是通過 POP 從 MTA 那裡下載回

(10)

來。所以﹐當您設定 MUA 的時候﹐就要分別指定 SMTP 和 POP 伺服 器的位址了﹐雖然﹐大多數情況之下都可能會是同一台機器。 .IMAP

IMAP(Internet Message Access Protocol)是目前新的郵件協 定﹐通過 IMAP﹐ 使用者在 MUA 那端就無需分別指定 SMTP 和 POP 作為上傳和下載協定了﹐而只一個 IMAP 協定就可以﹐而且 IMAP 還 可以讓不同的使用者共用一個 MUA﹐非常方便哦。目前絕大部分的 MUA 都提供 POP3 Client 與 IMAP Client,IMP Client 的收信方式與 POP3 有些不同,像在 IE Epress 若有多組 POP3 Client 帳號時,內 設的收件匣、寄件匣…都是共用的,而 IMAP Client 的帳號擁有自 已的收件匣、寄件備份及草稿等三個資料夾。當 IMAP 的帳號與 IMAP MTA 連上線後,IE Express 會自動下載 IMAP 信箱裡的信件,並隨時 與 IMAP Server, 保持同步處理信件。IMAP 會將在/var/spool/mail 的信件存到個人帳號下的 mbox 檔案裡。當 IMAP client 的使用者連 線上 IMAP Server 後,就直接到個人帳號下的 mbox 檔案讀取信件並 且下載一份信件到 IMAP client 端的帳號收件匣裡,與 pop3 不同的 是,IMAP client 端的 MUA 取完信件後並不會直接從 mbox 裡將信件 刪掉,而是將 mbox 的信件與 client 端使用者帳號下的收件匣信保持 同步處理,近來大部份的 web mail 都是用 web 瀏覽器登入到 IMAP Server,接著直接在網頁上收、發、管理 e-mail 信件,這種信件處 理方式,為使用者帶來莫大的便利性,使用者在任何地點,只要有 WEB 瀏覽器即可收、發、管理郵件。

(11)

因此所謂的「架設 Mail Server」應包含架設 SMTP、POP Server, 或是 SMTP、IMAP Server,當然也可以是 SMTP、POP Server、IMAP Server 三合一 Server。

郵件的傳遞流程﹕

1. 使用者使用 MUA 撰寫了一封郵件給另一個網路的使用者。 2. 通過 SMTP 上傳給 MTA。

3. 然後 MTA 通過 SMTP 再傳給對方網路的 MTA。

4. 最後另一個使用者通過其自己的 MUA 用 POP 連上 MTA 將郵 件下載回來閱讀。

(12)

2.2 Linux 郵件伺服器軟體比較

幾年以前,Linux 環境下可以選擇 的可以免費郵件服務器軟件 只有 Sendmail,但是由於 Sendmail 的缺陷,一些開發 者先後開發 了若幹種其他的郵件服務器軟件。當前,運行在 Linux 環境下免費的 郵件服務器,或者稱為 MTA(Mail Transfer Agent)有若幹種選擇, 比較常見的有 Sendmail、Qmail、Postfix、 exim 及 Zmailer 等等。

1 Sendmail

Sendmail 最初是由 Eric Allman 所設計出來的,由於當時各種 的通訊協定紛紛出籠,以及預期網路數量的暴增,促使他寫出了 delivermail,它就是 sendmail 的前身。但因 delivermail 缺乏足夠 的彈性來處理複雜的郵件繞送需求,它在實際的運用中難達到要求。 在 1980 年由於改用傳輸控制協定(Transmission Control

Protocol,TCP)。另一改變,是將主機名稱的命名方式由扁平式 (flat,如 MIT-XX)改為階層式(hierarchical,如 XX.MIT.EDU)。在 這些改變之前,郵件是透過檔案傳輸協定(File Transfer Protocol, FTP)傳送,之後則是透過一種新的協定傳送,稱為簡易郵件傳輸協定 (Simple Mail Transfer Protocol,SMTP)。因應這種種的改變,Eric 將 delivermail 發展成為 sendmail。為了確保郵件在網路間傳送時 都能遵守各網路所要求的規則,Eric 採取了一種「自由開放的」 (liberal)方式修改地址資訊,使其能滿足各種嚴苛的要求,而不是 讓郵件被莫名其妙的退回。當時 UUCP 的郵件完全沒有標頭

(13)

(header),所以 sendmail 必須無中生有,替郵件自動產生。sendmail 歷經了長時間的考驗,它不僅僅是一個程式,它是一種具有高度彈性 與可調整性的通用網路郵件繞送工具,不論網站規模的大小,也不論 郵件功能是複雜或簡單,sendmail 對於你的需求可說是一應俱全。 這些 sendmail 的優越之處,卻也正是其弱點所在,它的組態設定極 為複雜,sendmail 的程式非常難設定,甚至難以理解。舉例來說, 它的組態檔實在是嚇人。只要是提供 Internet 服務的 UNIX 主機,都 會用到 Sendmail 功能,它就像網路上的交通警察,負責替頻繁往來 的郵件疏通路徑。雖然位於核心地位,但 Sendmail 宛如 UNIX 系統 的蠻荒邊緣,換句話說,能弄清楚的人少之又少。主要功能有與 DNS 相互整合,確保安全性,儲列的管理,別名,郵寄名單,與資料統計 等等 。 2. Qmail

qmail 是有 Dan Bernstein 開發的可以自由 下載的 MTA,其第一 個 beta 版本 0.70.7 發布於 1996 年 1 月 24 日,1997 年 2 月發布了 1.0 版,當前版本是 1.03。 .Qmail 的特點 安全性:為了驗証 Qmail 的安全性,Qmail 的支持者甚至出資 $1000 懸賞尋找 Qmail 的安全漏洞,一年以後,該獎金沒有被領取, 而被捐獻給自由軟件基金會 。目前,Qmail 的作者也出資$500 來尋

(14)

求 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 支持用戶自控制的郵件列表功能。 郵件用戶和系統帳戶隔 離,為用戶提供郵件帳戶不需要為其設置系統帳戶 ,從而增加了安 全性。 .Sendmail vs Qmail 首先:sendmail 是 發展歷史悠久的 MTA,當前的版本是 8.10.2。 當然,Sendmail 在可移植性、穩定 性及確保沒有 bug 方面有一定的 保証。但是 Internet 上有很多帖子都是關於如果 攻擊 Sendmail, 這對於管理員來說是一個噩夢。Sendmail 在發展過程中產生了一批 經驗豐富的 Sendmail 管理員,並且 Sendmail 有大量完整的文檔資

(15)

料,除了 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 不對郵件信 封

(16)

的發送者的域名進行驗証,以確保域名的正確性。自身不提供對 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 要簡單一些,而且其特色功能能滿足一般用戶的需求。

(17)

Sendmail 類似於 office 套 件,80%的功能往往都不被使用。這就使 Qmail 在一些場合可能被更受歡迎一些, 其具有一些 Sendmail 所沒 有的更流行和實用的特色功能,如:Qmail 具有內置的 pop3 支持。 Qmail 同樣支持如主機或用戶的偽裝、虛擬域等等。Qmail 的簡單性 也 使配置相對容易一些。 Qmail 被認為相對於 Sendmail 更加安全 和高效,運行 Qmail 的一台 pentium 機器一天可以處理大約 200,0000 條消息。 Qmail 相對於其他的 MTA 要簡單很多,主要體現在: 其他的 MTA 的 郵件轉發、郵件別名和郵件列表都是採用相互獨立 的機制,而 qmail 採用一種簡單的轉發(forwarding)機制來允許用 戶處理自己的郵件列表 其他的 MTA 都 提供快速而不安全的方式及慢的隊列方式的郵件投 遞機制;而 qmail 發送是由新郵件的出現而觸發的,所以其投遞只 有一種模式:快速的隊列方式

其他的 MTA 實 際上包括一個特定版本的 inetd 來監控 MTA 的 平 均負載,而 qmail 設計了內部機制來限制系統負載,所以

qmail-smtpd 能安全地從系統的 inet 來 運行 sendmail 有很多 的商 業支持,而且由於大量的用戶群,在互聯網上有大量的潛在技術支 持。而 Qmail 只有很有限的技術支持。有家公司 inter7.com 提供對

(18)

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 所具有

(19)

的各種功能,但是都是 CLI 驅動的,只需要編輯很少的文件。Qmail 非常適合在小 型系統下工作,一般只支持較少的用戶或用來管理郵 件列表。Qmail 速度快並且 簡單:Qmail 是當你希望安全切容易配置 的最佳的選擇;Qmail 可以在 2 個小時內 搞定配置,而 Sendmail 可 能在兩天內都搞不定。 rocketmail internic 等都使用 qmail 來構 建。

3. Postfix

Postfix 是一個由 IBM 資助下由 Wietse Venema 負責開發的自 由軟件工程的一個產物,其目的是為用戶提供除 sendmail 之外的郵 件服務器選擇 。Postfix 力圖做到快速、易於管理、提供盡可能的 安全性 ,同時盡量做到和 sendmail 郵件服務器保持兼容性以滿足用 戶的使用習慣。起初 ,Postfix 是以 VMailer 這個名字發布的,後 來由於商標上的原因改名為 Postfix 。 .主要設計目標 Postfix 工程的目標是實現一個郵件服務器,提供給用戶除 sendmail 以外的選 擇。其設計目標包括:性能: Postfix 要比同類 的服務器產品速度快三倍以上,一個安裝 Postfix 的台式機一天可 以收發百萬封信件。Postfix 設計中採用了 web 服務器的 的設計技 巧以減少進程創建開銷,並且採用了其他的一些文件訪問優化技術以 提 高效率,但同時保証了軟件的可靠性。 兼容性:Postfix 設計時

(20)

考慮了保持 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。 .Postfix 的一些特點

支持多傳輸域:sendmai 支持在 Internet, DECnet, X.400 及 UUCP 之間轉發消息。 Postfix 則靈活的設計為無須虛擬域 (vistual domai)或別名來實現這種轉發。但是在早期的發布裡僅僅支持 STMP

(21)

和有限度 地支持 UUCP,但對於我國用戶來說,多傳輸域的支持沒有 什麼意義。虛擬域:在大多數通用情況下,增加對一個虛擬域的支持 僅僅需要改變一個 Postfix 查找信息表。其他的郵件服務器則通常 需要多個級別的別名或重定向來 獲得這樣的效果。UCE 控制

(UCE,unsolicited commercial email): Postfix 能限制哪個主機允 許通過自身轉發郵件,並且 支持限定什麼郵件允許接進。Postfix 實現通常的控制功能:黑名單列表、RBL 查 找、HELO/發送者 DNS 核 實。基於內容過濾當前沒有實現。表查看: Postfix 沒有實現地址重 寫語言,而是使用了一種擴展的表查看來實現地 址重寫功能。表可 以是本地 dbm 或 db 文件等格式。 .Postfix 體系結構及與 Sendmail 的比較 Postfix 是基於半駐留,互操作的進程的體系結構,每個進程完 成特定的任務,沒有任何特定的進程衍生關系(父 子關系)。而且, 獨立的進程來完成不同的功能相對於“單塊”程序具有更好的 隔離 性。此外,這種實現方式具有這樣的優點:每個服務如地址重寫等都 能被任 何一個 Postfix 部件所使用,無須進程創建等開銷,而僅僅 需要重寫一個地址, 當然並不是只有 postfix 採用這種方式。 Postfix 是按照這種方式實現的: 一個駐留主服務器根據命令運行 Postfix 守護進程,守護進程完成發送或接收網 絡郵件消息,在本 地遞交郵件等等功能。守護進程的數目由配置參數來決定的, 並且 根據配置決定守護進程運行的次數(re-used times),當空閑時間到 達配置參數指定的限度時,自動消亡。這種方法 明顯地降低了進程

(22)

創建開銷,但是單個進程之間仍然保持了良好的隔離性。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 運 行情況不是很好。

(23)

.安全 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 其他的主要優點是起配置 文件的清晰易懂性。 .與 Sendmail 的比較 如 sendmail 之類的郵件系統 是按照一個"單塊"的結構設計實 現的,該“單塊”程序實現所有的功 能。當然這種結構有利於在系 統的不同部分之間共享數據。但是這種結構容易出 現一些致命的錯 誤。而如 qmail 的郵件系統上使用一種分層次的結構,按照固定 得

(24)

順序運行不同功能的子模塊進程,執行完畢之後就將其釋放。這種方 法有良好 的“絕緣”性,但是增加了進程創建開銷和進程間通信開 銷。但是通過合理的規 劃子模塊進程的運行順序可以將開銷保持在 可以接受的范圍內。 使用其他的 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 將會重新加載其配置文件。另外,對於有數 以萬計的用戶的郵件服務器來說,使用文件來存儲如匹配用戶發 出

(25)

郵件地址(例如 bob 發出的信的發信人修改為 sales@example.org)。 對於大量用 戶來講,該文件就會變的很巨大,從而影響系統的運行 效率。而 Postfix 則可以 和一個數據庫後台集成起來(當前只支持 MySQL)來存放其配置信息,數據庫方式 要比文件方式在可擴展性方 面強大很多。 遵從 IBM 的開放源代碼版權許可証 ,用戶可以自由地 分發該軟件,進行二次開發。其唯一的限制就是必須將對 Postfix 做的修改返回給 IBM 公司。因為 IBM 資助了 Wietse 的開發。

.與 Qmail 的比較 Qmail 的缺點就是配置方式和 Sendmail 不一致,不容易維護。 而且 Qmail 的版權許可証含義非常模糊,甚至沒 有和軟件一起發 布。應用作者的話:若你希望分發自己修改版本的 Qmail,你必 須 得到我的許可。 4. ZMailer

ZMailer 是一個高性能、多 進程的 Unix 系統郵件程序。 [ a.k.a. MTA per X.400 parlance ],其可以從下面的服務器

ftp://ftp.funet.fi/pu b/unix/mail/zmailer/ 自由下載。其也是 按照單塊模式設計的。如 Hotmail 等郵件系統就是用 Zmailer 構建的。

(26)

5. Exim

Exim 是由 Cambridge 大學開發的遵從 GPL 的 MTA,其風格上類 似與 Smail 3 ,但是比 Smail 3 更加完善。當前最新版本是 3.15。 其主站點為 http://www.exim.org/。其最大的特點就是 配置簡單 性,但是其安全性不如 Qmail 及 Postfix。 2.3 Window 郵件伺服器軟體比較 1.雷電 雷電 MAILD 是一個非常簡單使用的郵件伺服器,就算您從來沒裝 過 郵件伺服器,你也能在短短數分鐘內將它架起來.如果你已經裝過 其它的郵件伺服器,你也會深深感覺到雷電 MAILD 真的是眾多郵件伺 服器中最簡單安裝的,更讓人驚奇的是,它不僅簡單,更是功能強大到 連 Web Mail 都一併提供給你了,它就是這麼讓人眼睛一亮,真叫人不 窩心都不行. 尊龍團隊為了國內新世代的優質生活,從 FTPD 發展到 MAILD,就是要 讓國內寬頻玩家能享有獨立自主的架站樂趣.而在此同時,也不希望 這項樂趣只侷限在少數資深的電腦玩家而已,我們殷切期盼只要您有 興趣,架站也可以是輕鬆自在的.

(27)

雷電 MAILD 的 特 點: 雷電 MAILD 除了是標準的 SMTP/POP3 郵件伺服器外,它還具備了: 1. 智慧型 SMTP Relay SMTP Relay 是指要不要讓別人在外部機器使用您的伺服器幫他 送信,但通常這個功能也就是會讓不肖使用者拿伺服器來做亂發廣告 信的工具,所以目前市面上的郵件伺服器通常都是關閉此功能的. 而智慧型 SMTP Relay 的功能就是要讓使用者在一方面預妨此亂用情 形發生外,一方面還要讓正式的使用者能夠順利的使用.使用方法非 常簡單,首先到[伺服器設定] ->[啟動 Smart SMTP Relay]和[啟動 IP 限制]且將[IP 允許列表保持為空白].有了以上的設定,當您要寄信時, 請先確定去收收看是否有新信即可將您 SMTP Relay 權限開啟,信就能 透過雷電 MAILD 送信了.(因為大部份的郵件客戶端程式通常都是先 收信再送信,這樣一來,即代表在保護您的伺服器且不改變郵件軟體 任何設定的情況下,您還能順利送信) 2. IP 限制 你可以透過編輯[IP 允許列表]和[IP 拒絕列表]來決定誰可以使 用您的 SMTP Relay 功能和誰不允許連上你的伺服器. 3. 標題、內文過濾器 過濾器是設計來避免您的使用者收到一些垃圾信,如廣告信、色

(28)

情信、病毒信等.你要做的只是將這些不受歡迎的信的標題內特定字 串輸入標題過濾器裡,雷電 MAILD 在下次收到這些符合標題字串的信 就會自動把它們丟掉,以免使用者收到,造成他們的困擾. 例如:在內文過濾器內加進<iframe src="的字串就能過濾掉 Klez 的 求職信病毒了. 4. 郵件信箱容量限制 郵件信箱容量限制是讓管理者來決定使用者的信箱空間可以最 大到多少 MB. 5. 多重網域對應 多重網域對應允許你若有一個以上的網域指向此伺服器時,你也 只需要一個帳號即可收到這些網域的信. 例:playstation2.idv.tw,playstation3.idv.tw 是兩個不同網域的 信箱地址,但他們都指向同一個雷電 MAILD,假若 test 是伺服器下的 帳號,不管你寄信到 test@playstation2.idv.tw 或 test@playstation3.idv.tw,這個的使用者都能從他的信箱收到此兩 個網址的信件. 6. 以 NT 背景服務方式運作 透過服務代理者 3 的服務安裝程式,雷電 MAILD 輕輕鬆鬆的讓你 將雷電 MAILD 以 NT 背景服務的方式啟動,你再也不用為電腦重開機後 還要手動去將程式打開的麻煩事而傷腦筋,當然這得要在 NT/2000 下

(29)

才能發揮功能. 7. 重寄機制 伺服器會將送不成功的信保留起來,在一段時間間隔後會再寄一 次,而這間隔時間長度是可以讓管理者隨意修改的. 8. SMTP 寄件限制 管理者可以設定當您伺服器在幫人送信時,有些怎麼樣的限制, 例如:一封信最大容量為多少 KB?使用者這次連上所能送的資料總共 能有多少 KB?單獨一封信件內最多有幾個收信人?單次連線最多可以 送幾封信....等等. 9. 事件記錄 有兩個記錄方式可供選擇,一個是將事件記錄在主畫面的訊息視 窗,一個是將事件以可分析性的格式記錄在檔案中,可供歷史記錄分 析器做分析資料用. 10. Web 遠端控制台 以 Browser 即能遠端控制伺服器,啟動/停止/新增使用者/更改 設定值...等,讓人遠端控制一把罩. 11. Web Mail 以 Browser 即能遠端讀信,寫信,刪信,下載信.輕鬆又自在

(30)

12. 動態 IP 指派 主機的 IP 如有變動,系統也能自動偵測並回復正常狀況. 13. Web Mail 模版支援 模板目前有登入畫面\templates\login.html,內容頁主體上方 \templates\header.html,內容頁主體下方\templates\footer.html, 個人化或公司化的 Web Mail 輕而易舉完成。 14. 信件尾端附加訊息支援. 此功能可對外寄或內送的郵件尾端附加上廣告文字.而 HTML 郵 件模板是 templates\appendmsg.html,TEXT 郵件是 templates\appendmsg.txt. 15. 自動回覆信件. 自動回覆信件是可以讓使用者透過 Web Mail 設定其自動回覆的 信件,此情況通常用在使用者有一段時間無法回覆信件,所以必須自 動回覆寄信者告知其狀況. 16. 自 動 轉 寄 信 件 寄到此信箱的信能夠自動再轉寄一份到特定信箱(可由 Web Mail 設定之)

(31)

17. 備份所有外寄內送的郵件(企業保密專用) 可以設定備份所有外寄的信到某一帳號,及可依各使用者情況當 他收到信時也備份一份到某一帳號. 18. 事件處理器 自行設定伺服器收到信後自動去執行外部程式(.exe)、 scripts(.php,.vbs,.bat),讓雷電擁有無限可能的資料處理能力. 19. 記憶體最佳化功能 自行定時進行記憶體最佳化的程序,讓你的伺服器永遠保持最佳 戰鬥力及永續經營的超能力. 20. 多國語言 Web Mail 資源檔(可隨意修改內容) 多國語言並可自定的 Web Mail 資源檔設計,讓你國界無距離的為 你使用者提供服務. 21. 伺服器中繼轉送 經由 Server Relay 功能不僅能做到郵件直接轉寄還能配合 Norton AntiVirus for Gateways 完成伺服器端郵件掃毒. (教學文 件)

22. 大量寄信機制

(32)

提供大量寄信機制,自動拆散過大的收信電郵清單成 N 部份,以 N 倍效 能的方式來自動處理大量郵件. 23. SMTP 身份驗證(SMTP AUTH)(個人版以上提供) 經由 SMTP AUTH,使用者可以經由設定用戶端的郵件軟體以 POP3 帳號密碼驗證身份才能寄信. 24. POP3 SSL (商業版提供) 你可以透過 POP3 SSL 讓使用者以 SSL 安全加密通道來接收信 件.(客戶端郵件軟體也要跟著啟動 POP3 SSL) 25. MultiPOP 接收外部信箱功能 你可以讓使用者設定他的外部信箱並接收信件進來他的信箱,以 達到統一收信方便快速的需求. 26.ICQ 客服中心 (商業版提供) 你可以讓使用者透過 ICQ 讀信或殺信,閱讀伺服器端所提供的檔 案(如每日新聞,笑話,公告等) ,收到伺服器送給他的新信通知,和伺 服器端的人員通話.

(33)

2.MS EXCHANGE 系 統 簡 介 隨 著 Internet 的飛 速發展, 越來 越 多 的 企 業 依 靠 Internet/Email 的 協 作來 提高效率 , 員 工 每 天 接 觸 Email/Internet 的 工作 時 間也逐 漸提 高。然 而 這 樣 的 方 便 性 卻 也 可 能 造 成 工 作 效 率的 降低及資 料保 密 的 問 題。 為 了 解 決 管 理者 對 於電子 郵 件及 上 網 管 理 上 的 困 擾,新 視 科 技 借 助在 Internet 搜 索引 擎及 多媒 體 處 理 技 術 上 的 經 驗 , 運 用 智 慧型 的 內 容 分析 技術與 圖 像自 動 分 析 辨 識 技 術,推 出 了 I'm(Internet Management)上網 管理 產 品。其 中 的「 I'm Email Gateway for Exchange Server」產品,配 合 Exchange Server 強大 的郵 件管 理 功 能,針對 電 子 郵 件 的 使 用 進 行 全 方 位 的 掃 描 與監 控,任 何 透 過 Gateway 的不當 郵 件 內 容 均 將 無 所 遁 形。透 過系 統的「 智 慧學 習」功 能,「 I'm Email Gateway for Exchange Server」會 持續更 新 郵件過 濾及 管理 規 範,無 論 郵 件 格 式、網 際 網 路 內 容如 何 變 化,系 統都能在 最 短 的 時 間 內,建 立 最 佳 的 企 業 郵 件管 理 機制。

(34)

產 品 特 色 郵 件 特 徵 擷 取 技 術 針對 郵 件的 標 題、時 間、寄件人、收 件 人 等 資 料 進 行 紀 錄 及 分 析 。 郵 件 內 容 掃 描 技 術 針對 郵 件內 文 及 多種 格 式文件的 夾檔 掃 描,包 含 圖 像 檔 的 色 情 自動 過濾 機 制 。 智 慧 型 郵 件 分 析 引 擎 系統 會 自動 針 對 問題 郵 件進一步 的分 析,並 視 情 況 產 生 對 應 的 過 濾 規 範。 自 動 下 載 過 濾 資 訊 自動 下 載最 新 的 過 濾 資 訊 ,確保 系統 免 於 不 當 郵 件 的 干 擾 。 完 整 的 報 表 功 能 系統 可 即時 查 詢 使 用 郵 件的狀況,包 括 誰、給 誰、主 旨 等 內 容 等 , 並 可時 段 提供 統 計 分析報表 。

(35)

系 統 架 構 圖 圖 2 內建(Native)各種標準 •SMTP (Internet 電子郵件) •POP3 (Internet 電子郵件) •NNTP (Internet 新聞群組和討論群組) •HTTP (透過 Web 瀏覽器存取) •HTML (透過 Web 瀏覽器存取) •LDAP (目錄存取)

•SSL (在使用 POP3 或 NNTP 用戶端、Web 瀏覽器,或 LDAP 用戶 端時,用來確保 Internet 安全性)

(36)

•MIME (電子郵件附件)

•內建支援合乎 CCITT 1984 與 1988 標準的 X.400 Message Transfer Agent

•X.500 目錄標準 (企業版)

•透過 Messaging API (MAPI) 來存取所有資訊來源的通用收件匣 •經由 Point-to-Point Protocol (PPP) 與遠端存取服務整合遠端 連接功能 延伸性 •每日處理超過一百萬封訊息的高處理量 •在單一伺服器上支援超過 22,000 個使用者 •從配備 32 MB 記憶體 90-MHz Pentium 處理器的系統,到擁有 8 顆處理器的 Alpha 系統上都可以執行 用戶端特性 可使用任何桌上作業系統的各種不同用戶端存取所有的資訊,包 括 Microsoft Exchange 用戶端、Microsoft Outlook 97、Web 瀏覽 器、Internet mail(POP3)、News(NNTP)reader,及 LDAP 用戶 端。

(37)

•Rich-text 格式化及編輯功能,包括拖放 (drag-and-drop) 和就 地編輯 (in-place editing) 功能 •無論是與伺服器連線中或離線狀態,都可以使用伺服器端的規則, 自動化處理進來的郵件 •透過本機複製來達成您機器與伺服器間私人資料夾及公用資料夾 的同步 •可使用數位簽名與加密,讓訊息在 Internet 及 Intranet 上傳送 更安全 •自動將訊息文字內的 URL 位址,轉換成 WWW 或 Intranet 的熱連 結 •以設定欄位、群組,與排序條件的方式來自訂檢視模式,方便您組 織、管理,及顯示資料夾內的資訊

•透過 Messaging API (MAPI) 來存取所有資訊來源的通用收件匣

協力合作

•使用 Schedule+ 或 Outlook 97 作群組排程與個人行事曆 •使用 Outlook 97 讓您立即建立及使用群組軟體

(38)

•使用 Schedule+,Outlook 97,Microsoft Team Manager 97 或 Microsoft Project 作工作指派及管理

•與 Microsoft BackOffice 家族產品完全整合,幫助您建立功能強 大的 Intranet 解決方案

•是 Active Server 架構的一部份,支援建立架構在 Web 的群組軟 體解決方案 •使用 Schedule+ 或 Outlook 97 作聯絡人管理 •新聞討論群組的多主機訊息複製功能 伺服器/系統管理 •內建圖形介面管理程式,集中管理系統元件 •一天 24 小時,一週 7 天,隨時都可以使用訊息及資料 •在伺服器當機時,透過交易記錄 (transaction logging) 可以回 復資料 •與 Windows NT Server 的效能監視器、事件檢視器,和備份程式 等系統管理工具充分整合 •每個訊息只儲存一份,以充分利用硬碟空間

•容量配額限制(Quota)可選擇使用以每一使用者 (per user) 或每 一伺服器 (per server) 為基準,以更進一步充分利用硬碟空間

(39)

•伺服器及連結監視器(Link Monitors)可以自動報告系統的問題 •訊息追蹤功能

•智慧型 routing 確保訊息安全傳送

•與 Windows NT 安全系統整合,所以具有登入安全防護、層級存取 控制,稽核與安全識別碼等功能

•可選擇使用數位簽名與公用與私人基碼 (Public , Private Key) 來加密

•支援與網路無關的通訊協定,使它能夠與 Novell NetWare、UNIX, 及大型主機並存及互相運作

•內建 Microsoft Mail for PC Network、AppleTalk Networks、Lotus cc:Mail、Netscape Collbra、Novell GroupWise、DEC All-In-1、 Verimation Memo、PROFS 及其他系統的資料移轉工具

• 具有與 Microsoft Mail Server(內建)、X.400、Lotus cc:Mail(內建)、SMTP(內建)、DEC All-In-1,和 PROFS 這些 郵件系統的連結器

• Directory Synchronization Services 支援與 Microsoft Mail 及其他系統作 32 位元多執行線(multithreaded)的同 步

(40)

•從 Windows NT Server、NetWare 3.x Bindery、和 NetWare 4.x NDS 命令檔建立使用者(Batch creation)

延伸性

•使用電子表單很容易的自訂用戶端

•支援 ActiveX 技術與 Internet 及 Intranet 整合

•透過 Visual Basic 開發工具在用戶端上增加功能,或在現有應用 程式上增加整合訊息及合作功能 •透過 MAPI 及 C++ 撰寫訊息及合作應用(Collaboration)程式 3. Kerio Kerio MailServer 是一個適用于中小企業的企業網路和區域網 郵件服務程式。他結合了反病毒控制、pop3 的 SSL 加密、IMAP4、SMTP、 web 郵件方式、WAP 協議以及郵件附件過濾程式,並且可以定義垃圾 郵件名單。 安全通信 1. 所有電子郵件轉換都可以像電郵服務(例如:POP3,SMTP,IMAP4, WebMail)在以 SSL 加密下般安全執行。 2. 電子郵件的防毒控管,去除所有接收與傳送電子郵件中的病毒。 3. 過濾可能具有危險性的附加檔案。

(41)

4. 可由寄件者名稱、寄件者地址、標題、內容或檔案大小過濾電子 郵件。 5. 可根據寄件者或依據 IP 位址的使用者認證進行反垃圾性件過 濾;另一方面,針對一般手機使用者的使用者名稱及密碼進行反垃圾 信件過濾。 6. 可追蹤公開資料庫中的黑名單來源,並且進行正常接收、拒收或 者將此事件記載於資料檔中。 7. 可在目錄下或其他伺服器上備份所有電子郵件。 隨時隨地傳送接收電子郵件 1. 可以 POP3、IMAP4、Web 及手機 WAP 接收及傳送電子郵件。 2. 使用 Web 介面。 3. 將電子郵件分類,不管以何種方式接收電子郵件皆不會錯過重要 訊息。 4. 可建立一電子郵件檔案提供群組使用者資源分享。 反垃圾信件功能 1. 經由 SMTP 傳送之電子郵件皆要求使用者名稱及密碼認證。 2. 對於特定範圍中的 IP 位址限制 SMTP Relay 傳送。 3. 對於每一 SMTP 連線接收的電子郵件進行寄件者 IP 位址檢查。 4. 寄件者網域名稱進行確認,以防止假網域名稱或無線網域名稱現 象。 5. 在特定時間內對單一使用者(IP 位址)進行傳送電子郵件數量限 制。

(42)

6. 限定單一使用者(IP 位址)同時使用 SMTP 連線數,以限制郵件數 量來保護電子郵件伺服器的資源。

2.4 說明各種 MailServer 之優缺點

對幾種 Linux 的 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

表 1

當然除了這裡介紹的幾種 MTA 以外,還有 Smail, Post.Office, the Sun Internet Mail Server (SIMS), MMDF, CommuniGate, PMDF, Netscape Messaging Server,Obtuse smtpd/smtpfwdd,Intermail,MD Switch 等其他商業或者免費的 MTA 可以選擇。

(43)

第三章 系統描述

3.1 主機配備

Intel PentiumⅡ-350MHz CPU、256MB Memory、Seagate 2.1GB HD、 10/100MB 乙太網路卡、Nokia 6150 行動電話。

3.2 所採用的軟體套件

Item Open Source Package 程式修改 / 自行設計

OS

l Chinese GNU/Linux Extensions for Red Hat (Atayal) l Kernel 2.2.17-14 on an i686 Database l MySQL-3.23.32-1.7 l PHPMyAdmin 建立存放 log 時間、來源等 資料庫。 SMS l mygnokii.tar.gz 利用套件設計可以自動傳 送簡訊。

Web Server l Apache Mail

l Sendmail l IMAP l POP3 Check Mail l Perl

l Shell

自行設計程式檢查 maillog 並分析資料存入資料庫。 網頁顯示 l PHP 自行設計 log 查詢網頁。 表 2

(44)

第四章 分工方法

4.1 分工表 職稱 姓名 工作 指導教授 李維聰 主持專題會議 學生 湯義光 php 網頁設計 學生 許俊彥 mail log 分析 和存入資料庫 學生 陳銘宏 sms 程式設計改良 學生 李津源 1. 系統建立 2. 自動化 表 3

(45)

4.2 甘特圖 四 月 五 月 六 月 七 月 八 月 九 月 十 月 十 一 月 十 二 月 選擇題目 ● 陳述問題與訂定目標 ● ● 閱讀資料 ● ● ● 系統建立 ● ● ● ● mail log 分析和存入資料庫 ● ● ● php 網頁設計 ● ● sms 程式設計改良 ● ● ● 系統整合與自動化 ● ● ● 測試 ● ● ● 撰寫報告 ● 圖 3

(46)

第五章 專題內容

5.1 SMS

SMS 是"Short Message Service"的縮寫,也就是所謂的行動簡 訊服務。可運用行動電話的功能,透過簡短的訊息傳送文字、 圖形或聲音即時傳遞到他人的手機上。利用數位化文字可大量 傳播、精確說明、易於保存的種種特性,做到「即時」、「大 量」、「有效」的對目標群傳遞訊息 簡 訊 傳 輸 服務 的介 紹 (一 ) 手 機 簡 訊 的基 本架構 簡 單來說 ,手 機 簡 訊傳輸服 務就 是 利 用 手 機 來 傳 送 或 接 收 簡 短 的 文 字訊 息 ,就好像 替手 機 加 上 雙 向 呼 叫 器 的功 能, 使 用 者 可 以藉 由簡訊的 傳輸 技 術 達 到 簡 短 訊 息 的 接 與 收 。而 因為 簡 訊 服務不需 要額 外 附 加 其 它 的 數 據 終 端 設 備 ,可 說是 目 前 行動電話 系統 中 最 簡 單 和 方 便 的 數據 通信 方 式。 依 據 GSM 系統的 規範,簡 訊 服 務 是 在 系 統 建 構 之 初就 具備 有 的 行動數據 傳輸 服 務 。 以 技 術 面 而 言 , 簡 訊 是 透 過 GSM 的 信號通道 (Signaling Channel)來 傳送 ,而 信號 通 道 主要 是用來傳 遞網 路 與 手 機 之 間 所 需 的控 制信 號 相 關 訊 息, 所以在簡 訊傳 送 過 程 中 , 並 不 會 干擾 語音 通 話 的 傳 送(利 用訊 務通 道 Traffic Channel 來

(47)

完成 ),更 不 會 干 擾訊 息接收,但 卻也限 制 每 次 傳 送 簡 訊 的 長 度,每 則 簡 訊 能 容 許的 最 大 資 料 量 為 69 個 中 文 字 或 159 個 英 文 字( 約 160 位 元)。 手機 的 簡 訊 傳 送 是 透 過 簡 訊 服 務 中心 (SMS Center ;SMSC)的 設 備 來 處 理, SMSC 主要 是在行 動 無 線 網 路 與其它 有 線數 位 網 路 之 間 (如 PSTN、Internet、Intranet..)扮演 接 收 不 同 簡 訊 來 源 的 作 用 , 同 時具 有 儲 存 與 轉發(store-and-forward)功 能, 如圖 一。 也 就 是 說 ,在 收訊者的 手機未 開 機 , 無 法 傳 送 的情 況下, SMSC 可 以暫 時儲存簡 訊,伺 後 再 發 , 以 確 保 送達 收訊 者 的 功 能。一 般而言 , 大部 分 的 系 統 業 者 會 保 留 簡 訊 7 天 , 如 果 7 天 內仍無法 將簡 訊 送 達, 該 筆 簡 訊 才 會 自 動 刪 除 。 而 對 於 手機而言 ,同樣 具 有 儲 存 簡 訊 功 能, 但受 限 於 SIM 卡的 容量 ,大 約只 能 儲 存 15~20 筆 之 間 。 (二 )手 機 簡 訊 的 傳輸 模 式 依 據 簡訊 系統 的傳 輸模式, 可分 為 簡 訊 廣 播 服 務 (Cell Broadcast SMS),以 及一 般的 點 對 點 簡 訊 服 務 (Person-to-Person SMS)的傳 輸模式 。 前 者 是 系 統 業 者 以廣 播方 式 直 接 發送資 訊 給某區 域的 所 有 手 機 用 戶 , 對 於 選 用 這 類服 務 的用戶 而言 ,將 可以 定 期 收 到 以 簡 訊 方 式來 傳遞的 各 種 加 值 服 務,例如 股票 行 情 、 氣 象 預 報 、 路 況 報 導 等訊 息。 而 所 謂點對點 服 務 則 是 讓 手 機 用 戶 透

(48)

過 GSM 網路 的 簡 訊 傳輸 技術,發 送 給某 個 指 定 收 訊 用 戶。 根據 Mobile Lifestreams 的統 計,目 前 全 球 簡 訊 的 發 送 量中 ,約 有 90%是來 自 於 用戶間 的點 對 點 簡 訊 服 務 。 (二 ) 手 機 簡 訊 的內 容 格式 手 機 傳 送 簡訊 的內 容可為 文 字、 圖 形 與 鈴 聲 等 三 種 形 式,其 中 傳 送 文 字 簡 訊是最普 遍 且 限 制 最 低,目 前 GSM 手機 都有支 援 文 字簡 訊 傳輸功能 。至 於 傳 送 鈴 聲 或 圖 形, 就受 到 手 機 支 援軟 體的 限制 。由於 圖 形 、 鈴 聲 在 傳 送過 程中會 先 被 轉 化成 文字格 式 ,等 到 手 機 接 收 後 , 再 透過 手機 內 建 軟 體還 原 成圖形或 鈴聲 , 所 以 並 非 每 隻 手 機都 有支 援, 目 前 只有 部 份新款 手機 才 有 支 援 圖 形 、 鈴 聲, 而大 部 份 的 手 機品 牌也都 只 能自 家 互 傳 而 已 , 無 法 像文 字簡 訊 一 樣 ,可以 傳遍天下 。 (三 ) 手機 簡訊 的傳 輸介面 一 般 而言 ,除 了 可 直接在手 機操 作 來 發 送 簡 訊 外, 系統 業者為 了 減 低 手 機 輸入的不 便性 , 以 及 擴 大 簡 訊 的 使 用 族 群 ,簡 訊的發 送 端也可透 過應用 軟 體 開 發 商 的 網 頁介 面,在 電 腦 輸 入簡 訊,再經 由 Internet 來 發 送。 換 言 之 , 電 腦使 用者 可 利 用行動電 話系 統 業 者 所 指 定 的 ISP, 以網 頁介 面 方 式 來 發送 簡訊 給手 機 用 戶。

(49)

SMS 架構圖

圖 4

Gnokii 是 Linux 上免費的工具,使我們可以在 Linux 上驅動 Nokia 的手機。Gnokii 可以讓我們用電腦透過這個程式來控制手機傳送和 接收簡訊。 支援的手機: • Nokia 6110|6130|6150|6190|5110|5130|5190|3210|3310|3330|8210 • Nokia 7110|6210|6250 • Nokia 6310|6510|8310 • AT capable phones

(50)

如何將 Gnokii 及 mail server 就結合 首先我們在系統中用 Shell 寫了一個程式,利用此程式每固定一 段時間就來判斷 Mail Server 中是否有使用者的新信件,假如判斷的 結果是"true",就會統計信件數和寄件者,然後就會啟動"gnokii", 發出一個 sms"簡訊"到使用者的手機上,通知使用者有新信件來了, 只要有新信再寄進來使用者的帳號,就會再發出一個新的 sms 簡訊。 5.1.1 如何把簡訊功能加入 Mail Server 手機與電腦的連結 用 RS232 的線將手機和電腦的 com port 作連接。 安裝控制手機的程式 先下載 mygnokii.tar.gz 這個套件,然後解壓縮和編譯 #tar xzvf mygnokii.tar.gz #./configure #make 編寫檢查新信件的程式 利用 Shell 寫一個檢查帳號的程式 下面的內容是檢查一個 tzj 的帳號的範例: #!/bin/sh

(51)

//開啟在 var/spool/mail/tzj 的檔案,比對字串"Return-Path",並 將有此字串的那行輸出到 tmp/tzj.sms 檔案 num=`cat /tmp/tzj.sms | wc –l` //計算/tmp/tzj.sms 檔案中字串的行數,並將值 assign 到 num num1=`cat /tmp/tzj.sms1 | wc -l`//計算 temp/tzj.sms 檔案中字 串的行數,並將值 assign 到 num //初始化一個用來比較的檔案

if [ "$num" -eq 0 -o "$num" -lt "$num1" ] then

cat /tmp/tzj.sms > /tmp/tzj.sms1 //創出 temp/tzj.sms1 檔案 fi

if [ "$num" -gt "$num1" ]//如果有新的信件寄來 then

from=`cat /tmp/tzj.sms | uniq | grep "@" | cut -d" " -f2` //開啟/tmp/tzj.sms 檔案,將相同的字串刪除,只留下一行,並且 在字串中空格之後的二個欄位刪除 assing 到 fiom

echo You have $num new mail from $from > /tmp/tzj.sms.txt// 在/tmp/tzj.sms.txt 檔案中印出此行字 /usr/local/bin/gnokii --sendsms "+886936356462" < /tmp/tzj.sms.txt//執行 gnokii 程式,送出簡訊 cat /tmp/tzj.sms > /tmp/tzj.sms1//將傳完簡訊的新信資料輸出到 tzj.sms1 檔案 fi

(52)

修改系統使它自動執行 1. 用 shell 寫一個程式計算某個帳號的新信件 2.再用 gnokii 來寄送 sms 3.利用 crontab 在一個固定時間來做以上二件事 在 crontab 中加入 */5 * * * * root /etc/mail.sh>/dev/null 這一行是指每五分鐘跑一次程式 5.1.2 簡訊功能操作方法 手動傳 SMS MyGnokii 程式的使用方法

gnokii --sendsms destination

[--smsc message_center_number | --smscno message_center_index]

[--long n] [-s] [-C n] [-8] [-v n] [-d]

[--enablevoice|--disablevoice|--enablefax|--disablefax| --enableemail|--disableemail|--void] [--unicode] [--text SMS_text]

使用前最好先測試手機有沒有接上 #gnokii --monitor 這個指令來測試

(53)

例如:

#gnokii --sendsms "+886933397686" < file 其中 933397686 是目標電話去掉第一個數字 file 的內容是要傳送的息訊 自動執行 把 crontab 裡加入定時去執行我們自己寫的 shell 的程式 5.1.3 問題及解決辦法 手機的尋找 起初本來想要利用別人已架設好的 Server 來傳送簡訊,但是大部 份的 Server 不是在國外,不然就是要收費,所以決定自己架 Server 來傳送簡訊。一開始在找尋資料時,只知道”西門子”的手機比較容 易找到電腦與手機之間的傳輸線,但是”西門子”手機沒有提供在 LINUX 下的現成程式可以使用,只有提供 AT-COMMAND,於是老師就建 議我們既然都要自己利用 AT-COMMAND 來撰寫程式,可以考慮利用 MODEN 來傳送簡訊,這樣既省錢而且沒有手機電力不足的問題,但是 由於找不到利用 MODEN 傳送簡訊的相關資料,卻意外的到”NOKIA” 在 LINUX 下控制手機的原始碼,於是就決定採用這一套軟體和 NOKIA 的手機。 檢查程式的編寫 在/var/spool/mail 裡的帳號是建立過就會留下,只要有新的信

(54)

件寄到你的帳號會先存在/var/spool/mail 的帳號下只要你用任何一 個看信件的程式看完後,/var/spool/mail 裡的信會被存到你自已的 子目錄下的 mbox,這時這封信就是已讀過了,不會存在

/var/spool/mail 下,所以在/var/spool/mail 下的帳號是新信, /home 下的帳號的 mbox 是舊信,maillog 是把所有資訊放在一起, /var/spool/mail 是把 mail 的內容分別存在不同的帳號裡。所以我 們只要檢查/var/spool/mail 裡的帳號,然後再統計就可以當作簡訊 內容,後來看到到別人寫的檢查 CodeRed(紅色警戒病蟲)和 Nimda (妠坦病蟲)的程式,就學習它用 shell 來寫檢查的程式。

5.2 Mail Log 之分析

5.2.1 功能介紹 因 log 只單純紀錄每一筆電子郵件的來源、目的地、時間等等, 所以為了分析 log 首先利用 shell 語言先把 log 依照月份放入不同的 檔案中以分別,再用 log_to_db.pl 這個由 perl 直譯程式語言寫的程 式,一行一行的讀入 maillog 中的資料,挑出含有<from>、<to>的行 數並切割相關資料,最後放入 MySQL 資料庫中。

這邊使用到 Shel Script、Perl、MySQL 三種程式語言,及 Perl DBI API、Msql-Mysql 模組、Data-Dumper Perl 模組、phpMyAdmin 四個相關套件。

(55)

5.2.2 操作方法

log 先以月份分開,此部分用 Shell Script 來表示。

利用 Perl 來撰寫的 log_to_db.pl 來切割 maillog 後,依照本機收 信或本機寄信來放入資料庫。部分程式如下: ##use strict; use DBI; my($dsn) = "DBI:mysql:dbMailserver:localhost"; my($user_name) = "root"; my($passwd) = "wdemtzj"; my($dbh,$sth); my(@ary); $dbh = DBI->connect($dsn,$user_name,$passwd,{RaiseError=>1}; 以上使用 DBI 定義選擇的資料庫。 if ($data =~ /from=(.+),\ssize=(\d+)/) { $from = $1; $size = $2; $size = $dbh->quote($size);}

(56)

中判斷是寄出還是收入,因此主要在收集檔案大小,而 from 則留到以下讀到 to 的時候在來判斷是否為寄出或收入郵件。 if (($domain eq $default_host)||($domain eq $default_local)||($domain eq $mailserver)) { $hostsend_user = $dbh->quote($hostsend_user); $send_target = $dbh->quote($to); $dbh->do("INSERT into $tbSend

(month,day,mon_day,time,name,send_address,send_size)V ALUES($month,$day,$mon_day,$time,$hostsend_user,$send _target,$size)"); if (($to_domain eq $default_host)||($to_domain eq $default_local)||($to_domain eq $mailserver)||($to_domain eq'')) { $to_user = $dbh->quote($to_user); $dbh->do("INSERT into $tbReceive (month,day,mon_day,time,name,from_address,receive_siz e)

VALUES($month,$day,$mon_day,$time,$to_user,$hostsend_ user,$size)"); } }

(57)

$hostsend_user = $dbh->quote($hostsend_user);

$send_target = $dbh->quote($to); $dbh->do("INSERT into $tbSend

(month,day,mon_day,time,name,send_address,send_size)V ALUES($month,$day,$mon_day,$time,$hostsend_user,$send _target,$size)"); } 以上是由本機寄出信件時,讀出目的地及判斷是否收信者是本 機使用者,並且把相對應的收信資料和寄信資料放入資料庫 中。 if (($domain eq $default_host)||($domain eq $default_local)||($domain eq $mailserver)||($domain eq '')) { $from =~ s/[><]//g; $from = $dbh->quote($from); $dbh->do("INSERT into $tbReceive (month,day,mon_day,time,name,from_address,receive_siz e)VALUES($month,$day,$mon_day,$time,$receive_user,$fr om,$size)"); }

使用者收到電子郵件時的狀況,並把對方寄件者的來源等資料 放入資料庫。

(58)

資料庫使用 MySQL,並建立兩個表單 tbSend 和 tbReceive 來儲存 資料。表單內有年月日、E-mail Address、主機收件/寄件者、檔 案大小等資料,同時在建立資料庫時利用 phpMyAdmin 的套件用網 頁的方式實作,可用表單的選擇以節省手動文字模式輸入 SQL 語法 的時間。 圖 5

(59)

圖 6 最後 Database 中的資料由網頁顯示出來。 5.2.3 問題與解決 Sendmail 的 maillog 雖然都有固定的形式排列,但是在不了解 前看這一連串的 log 檔幾乎完全不知所云,像是寄信有一串的格式, 收信又是另一種,而其中還有許多傳送的資料,若無法歸類出一定的 模式,就很難去分析切割所想要的資料。而在解決了 log 閱讀上的問 題後,又發現 log 紀錄的方式居然因著不同的瀏覽郵件工具的不同而 有所變化,像 Linux 中的 mail 和 pine 兩種工具寄出信件時 log 的紀 錄方式就會有小地方的變化,這在作 regular expression 的時候就 要考慮到有不同的形式,若是忽略的話在寫入資料庫的時候就會出現

(60)

資料表現上的錯誤,可能造成資料沒讀進去或是一樣的資料被程式看 作是兩筆不同的資料。

因此在賺寫程式之前除了熟悉 Perl 的語法外,比較重要的是要 了解 maillog 的規則,由於 sendmail 的 config 檔非常的繁瑣難懂, 所以多看 maillog 並多寄些郵件來觀察變化會比較方便,而測試的時 候也要多嘗試不同的郵件主機和寄信工具,提高變化以減少分析上的 錯誤。在程式的撰寫上比較不困難,但要產生預期的結果卻有一段出 入,在測試程式的期間常常會有紀錄而沒讀出來,或者讀錯紀錄,程 式就必須多考慮 log 的變化,並要不斷的測試對照原始紀錄檔, 以產生正確的資料。 除此之外,程式無法自動化是最大的問題,由於 log 檔是不斷的 增加,分析程式是一行一行的讀寫 log 檔,若是每次重新讀入就會造 成資料龐大的重複,而若是用分辨出新增紀錄檔的做法,又會因紀錄 檔每一週系統會自動向後位移,在臨界時間的紀錄是否讀的到也成問 題。因此當週的資料必須等到下週以完整的 log 再來分析,以避免在 資料庫中重複。 5.3 網頁顯示 為了讓 mailserver 的管理者方便管理系統,像是在同一時間內 有大量的郵件從某處寄來或是從自個的 mailserver 中寄出去,便可 猜測此郵件大概就是廣告信件,因此用 php 設計了能夠來讀取存放在 資料庫中的郵件相關資訊,將資料排序及統計後顯示在網頁上

(61)

5.3.1 功能介紹與操作方法: 圖 7 圖 8 左上圖 login.htm 是使用者登入的網頁,在輸入帳號密碼後按登入 鍵,便會進入 form.php,此時帳號或密碼有錯誤時,便會出現錯誤 訊息而要求重新登入,如右上圖所示,如果都沒錯的話則會顯示出如 下圖所示的查詢介面來。 圖 9

(62)

form.php 為查詢用網頁,來源端是查詢從其它 mialserver 所寄來到 自已 mailserver 的郵件資訊,而接收端是查詢從自已 mailserver 中 所寄出去的郵件資訊,其資訊包括帳號、寄信端與收信端、檔案大小、 日期…等,在起始日期與終止日期中輸入想查詢的時間範圍後,按查 詢便會進入 query1.php 看到查詢的結果,如下圖所示 圖 10 query1.php 為顯示結果的網頁,若在 form.php 中選擇的是來源端查 詢,query1.php 便會用 querydata.php 來連結並查詢資料庫,後然 將查詢到的資料做統計與排序後顯示出來,反之,若在 form.php 中

(63)

選擇的是接收端查詢,query1.php 便會用 querydata1.php 來連結並 查詢資料庫,後然將查詢到的資料做統計與排序後顯示出來 5.3.2 問題與解決方法: 在此次專題中所遇到的問題,除了身為一個 php 的新手,對於語 法不熟以外,大致上便是關於排序與資料的傳遞了,排序的問題如下 例: 帳號 密碼 a 12 c 34 b 56

分別存在 name[]與 pass[]兩矩陣內,在將帳號排序成 a、b、c 時,密 碼也能跟著排成 12、56、34,雖然 php 有內建的函數能作排序,但 卻只能排序單一矩陣,不能在排序 name 的同時也排序了 pass,所以 當初在此問題上花了許多時間,查了好幾本書仍然沒有找到解決的方 法,最後在一個討論 php 的網頁上找到了相關的程式碼,才將排序問 題解決。至於資料的傳遞則是關於如何在 a.php 與 b.php 之間變數或 矩陣的傳送,例如:將排序好的資料傳到另一個網頁中顯示出來。此 問題由於時間上相當趕的關係,來不及找出解決的方法,所以便將資 料全部顯示在同一網頁中,而使用書籤來跳動到想看的資料。

(64)

第六章 結論與建議

溝通乃至於訊息的交換,從言語、信件至今電訊設備、電子郵件 等,越來越強調的在訊息的正確性後,即時性更是訊息交換的最大考 量,電子郵件的出現不僅同時具有電話的即時性,同時結合了傳真信 件等夾帶書面資料甚至於影像的功能,功能之便利而用之普遍。架設 郵件伺服器並不難,但目前多數流通的個人郵件多由大公司來作統一 的服務,諸如免費的 YAHOO!奇摩、PCHOME、Hotmail 或 ISDN 公司 SeedNET、Hinet 等等,這些郵件伺服器每天進出以萬以上為單位的 郵件,若沒有有效率的管理便會使系統的效能大大的減低,也因此除 了伺服器本身的技術外,監控分析甚至抓出有問題的使用對整體機器 組的安全性也能提高。 在這次實作上也出自這樣的動機。我們以表格的方式表現出郵件 往來的資料,也可依時間做查詢,並列出在流量及郵件數上的前十大 使用者,也在其他單一資料以排序的方法來顯示,從前十大的資料可 看出在一定時間內是否有不正常的信件數或經常傳送檔案量大的電 子郵件,藉此針對不正常的使用加以觀察或採取其他動作;而排序好 的資料可以一筆一筆清楚顯示出每封郵件的去處和時間,也可觀察是 否有異常動作的痕跡。在手機簡訊方面,以每五分鐘檢查每個使用者 /spool/mail 目錄下是否存在有電子郵件,有則發出簡訊告知使用者 有信件,若是使用者暫時無法閱讀,簡訊也不會無限制的通知,而是 直到在有另一封新電子郵件進入的時候再一併通知,這類的郵件伺服 器額外功能,不僅讓使用者感到便利,而且以自動化的過程來執行,

參考文獻

相關文件

 為全人類提供基本教育每年的所需支出,相等於 LVMH— 擁有 LV 等名牌的企業於 2011 年上半年 度的營業額。.

• 少年人自願或同意 與他人進行性活動 亦有可能 是有人利 用本身與少年人之間 權力差異 的特殊地位而對少年人在

(2) 一案到底服務專員對於 求職挫折民眾,提供情緒 支持與關懷服務,運用諮 商技巧正向鼓勵求職民 眾,以提升求職民眾自信

  SOA 記錄裏,記載著關於該 域名權責區域的一些主 要網域名稱伺服器 ( primary DNS server) 和其它 相關的次要名稱伺服器 ( secondary DNS server)

詳細閲讀內容,檢查作 者的資料來源,已確認 其真確性。如果文章觀 點基於客觀事實,或由 專家提供證據,其可信 度較高;反之,如果證

危機事件 後果 可預測性 持續性 震撼程度 估計危機 影響程度 一對小四及小. 二的兄妹,居 於學校同邨的

透過讚賞表達支持和鼓勵,都能讓人有 被關 注、 被認同及被需要 的感覺,更是有效提升學 生抗逆力的妙藥。惟須謹記,運用時「必須到 位」, 且

‹ Namespace 關鍵字, 它會將所定義的名稱 區域化, 只有在該區域時方能看到在該區 域中所定義的名稱, 因此其許可同樣的名