本節包含以下主題:
整合郵件傳送應用程式可接收、傳送、儲存及管理多種類型的郵件,包括文字郵件、語音郵件、傳真郵件、影像資料與其他資料格式。郵件儲存可讓您定義多達 63 種不同的郵件類型。
依類型處理郵件的方法之一,是將郵件分門別類存放到個別的資料夾中。
有了郵件類型功能,您即不需再以個別的電子信箱資料夾存放不同類型的郵件。郵件類型一經配置,無論儲存於何處,郵件儲存均可加以識別。因此,您可以在同一資料夾中儲存異質的郵件類型。您也可以執行下列作業:
追蹤郵件類型的使用情形
傳送依郵件類型分類的通知
為不同的郵件類型設定及管理不同的配額,無論它們儲存於相同或不同的資料夾
根據針對各種郵件類型所配置的條件,在資料夾之間移動郵件
根據針對各種郵件類型所配置的條件,判定郵件是否已過期
在整合郵件傳送應用程式中,會為異質格式的資料指定標準網際網路郵件標頭,以利 Messaging Server 儲存及管理資料。例如,當語音郵件傳送至一般使用者的電話時,電話前端系統會為內送的語音郵件加上郵件標頭,再將其遞送至郵件儲存。
為辨別及管理不同類型的郵件,整合郵件傳送系統的所有元件皆必須使用相同的郵件類型定義與相同的標頭欄位,以識別郵件。
在配置可支援郵件類型的郵件儲存之前,您必須
規劃所要使用的郵件類型
決定各種郵件類型的定義
決定所要使用的標頭欄位
例如,若您的應用程式中含有電話訊息,可以將此訊息類型定義為「multipart/voice-message」,並以 Content-Type 標頭欄位識別訊息類型。
接著您可以配置電話前端系統,在要遞送至郵件儲存的每則電話訊息中加入下列標頭資訊:
Content-Type: multipart/voice-message
接下來,您必須配置郵件儲存,使其辨別 multipart/voice-message 郵件類型,如以下幾節所說明。
定義郵件類型時,您必須為其指定唯一的定義,如 multipart/voice-message。依預設值,郵件儲存會讀取 Content-Type 標頭欄位以判定郵件類型。您也可以依本身需求配置不同的標頭欄位,以識別郵件類型。
郵件儲存會讀取 Content-Type (或其他指定的) 標頭欄位,讀取時不區分大小寫。也就是說,即使標頭的大小寫字母組合與預期的組合方式不同,郵件儲存仍會將其視為有效的標頭欄位。
郵件儲存只會讀取標頭欄位中的郵件類型名稱。它會忽略其他引數或參數。
若要定義郵件類型,請使用 configutil 公用程式設定 store.messagetype 參數的值。如需相關指示,請參閱配置郵件類型。
在您配置郵件類型後,郵件儲存即可識別及處理指定類型的郵件。在管理整合郵件傳戲應用程式中的郵件類型時,這是首要步驟。
若要充分發揮郵件儲存所提供的郵件類型功能,您應執行下列部份或所有的作業:
配置 JMQ 通知外掛程式並撰寫郵件佇列用戶端,以擷取可追蹤郵件類型狀態的通知
配置各種郵件類型所適用的配額根
根據郵件類型撰寫過期規則,並設定據以判定郵件是否過期及清除郵件的 LDAP 屬性值
這些工作將於下列幾節說明:
若要配置郵件類型,請使用 configutil 公用程式,設定用以定義及識別郵件類型的 store.messagetype 參數值。
將 store.messagetype.enable 參數設為 on,以啟用郵件類型。
此 configutil 參數可讓郵件儲存可識別及處理郵件類型。您必須設定此參數,方可配置個別的郵件類型。
例如,輸入以下指令:
configutil -o store.messagetype.enable -v 1 |
設定 store.messagetype.x 參數,以定義及識別郵件類型。
變數 x 可在郵件儲存中識別此特定郵件類型。變數 x 必須是大於零且小於 64 的整數。反覆使用唯一的整數配置此參數,可定義多達 63 個郵件類型。
您可以使用能夠說明類型的文字字串,定義郵件類型的值。
例如,若要定義文字郵件類型,可以輸入下列指令:
configutil -o store.messagetype.1 -v text/plain |
若要定義語音訊息類型,您可以輸入下列指令:
configutil -o store.messagetype.2 -v multipart/voice-message |
設定 store.messagetype.x.flagname 參數,提供郵件類型的旗標名稱。
此參數會建立可識別郵件類型的唯一旗標。當此類型的郵件進入郵件儲存時,即會自動設定此旗標;在郵件遭清除前,此旗標與郵件均保有關聯。旗標名稱值為用以說明郵件類型的文字字串。此值不需與 store.messagetype. x 參數的設定值相同。
變數 x 是以 store.messagetype. x 參數定義的郵件類型整數 ID。
例如,若要定義前述步驟中所配置之郵件類型的旗標名稱,請輸入下列指令:
configutil -o store.messagetype.1.flagname -v text configutil -o store.messagetype.2.flagname -v voice_message |
設定 store.messagetype.x.quotaroot 參數,以配置郵件類型的配額根名稱。
此參數可讓配額功能識別及管理此郵件類型的配額根。此參數值是一個名稱,亦即可說明郵件類型的文字字串。此值不需與 store.messagetype.x 參數的設定值相同。
變數 x 是以 store.messagetype.x 參數定義的郵件類型整數 ID。
配置此參數後,即可設定適用於指定郵件類型的配額。如需更多資訊,請參閱20.7.4 依郵件類型管理配額。
例如,若要啟用前述步驟中所配置之郵件類型的配額根,請輸入下列指令:
configutil -o store.messagetype.1.quotaroot -v text configutil -o store.messagetype.2.quotaroot -v voice |
若要配置用以識別郵件類型的替代標頭欄位,請設定 store.messagetype.header 參數。
依預設值,郵件儲存會讀取 Content-Type 標頭欄位以判定郵件類型。只有在需要使用不同的標頭欄位識別郵件類型時,始需配置 store.messagetype.header 參數。此參數的值為文字字串。
例如,若要使用名為 X-Message-Type 的欄位,請輸入下列指令:
configutil -o store.messagetype.header -v X-Message-Type |
當您為郵件類型配置 store.messagetype.x.flagname 參數時,必須建立可識別郵件類型的唯一旗標。一般使用者無法修改此旗標。
Messaging Server 所顯示的郵件類型旗標,可做為 IMAP 用戶端的使用者旗標。將郵件類型對映至使用者旗標,可讓郵件用戶端使用簡單的 IMAP 指令,依郵件類型處理郵件。
例如,您可以執行下列作業:
使用 IMAP FETCH FLAGS 指令顯示郵件類型旗標名稱,做為用戶端的使用者定義旗標。
如需 IMAP FETCH FLAGS 指令的使用範例,請參閱範例 20–1,如下所示。
使用郵件類型旗標做為 IMAP SEARCH 指令中的關鍵字。
如需 IMAP SEARCH 指令的使用範例,請參閱範例 20–1,如下所示。
郵件類型使用者旗標是唯讀的。它無法以 IMAP 指令進行修改。
下列範例假設您以此處所顯示的值配置郵件類型 configutil 參數:
store.messagetype.enable = yes store.messagetype.1 = text/plain store.messagetype.1.flagname = text store.messagetype.1.quotaroot = text store.messagetype.2 = multipart/voice-message store.messagetype.2.flagname = voice_message store.messagetype.2.quotaroot = voice |
下列 IMAP 階段作業將擷取目前所選電子信箱的郵件:
2 fetch 1:2 (flags rfc822) * 1 FETCH (FLAGS (\Seen text) RFC822 {164} Date: Wed, 8 July 2006 03:39:57 -0700 (PDT) From: bob.smith@siroe.com To: john.doe@siroe.com Subject: Hello Content-Type: TEXT/plain; charset=us-ascii * 2 FETCH (FLAGS (\Seen voice_message) RFC822 {164} Date: Wed, 8 July 2006 04:17:22 -0700 (PDT) From: sally.lee@siroe.com To: john.doe@siroe.com Subject: Our Meeting Content-Type: MULTIPART/voice-message; ver=2.0 2 OK COMPLETED |
前述範例中擷取了兩則郵件,一則為文字郵件,另一則為語音郵件。
郵件類型旗標會以 store.messagetype.*.flagname 參數所配置的格式顯示。
Content-Type 標頭欄位會識別郵件類型。郵件類型名稱會依內送郵件寄達時的形式顯示。這些名稱會混用大小寫字母,且包含 charset=us-ascii 之類的郵件類型引數。
下列 IMAP 階段作業將搜尋目前所選電子信箱的語音訊息:
3 search keyword voice_message * SEARCH 2 4 6 3 OK COMPLETED |
在前述範例中,訊息 2、4 與 6 為語音訊息。搜尋作業中所使用的關鍵字為 voice_message,即 store.messagetype.2.flagname 參數的值。
通知可遞送不同郵件類型 (如文字郵件、語音郵件和影像資料) 的相關狀態資訊。Messaging Server 可使用 Sun Java System Message Queue 傳送郵件類型的通知資訊。如需有關為郵件佇列配置 JMQ 通知外掛程式的資訊,請參閱第 22 章, 配置 JMQ 通知外掛程式以產生郵件佇列的郵件
若要啟用 JMQ 通知外掛程式以辨識特定郵件類型,您必須配置 store.messagetype 參數,包括 store.messagetype.x.flagname 參數在內。如需詳細資訊,請參閱配置郵件類型。
郵件類型配置完成後,JMQ 通知訊息即可識別特定郵件類型。您可以撰寫依郵件類型解譯通知郵件的郵件佇列用戶端,並送遞各類型的相關狀態資訊至郵件用戶端。
JMQ 通知功能會依郵件類型,計算目前在電子信箱的郵件數。此計數結果不會單筆傳送,而會以陣列指出每種郵件類型的計數,並隨通知郵件傳送。
舉例來說,NewMsg 通知訊息可隨附相關資料,讓使用者得知使用者收件匣內有七則新的語音郵件訊息與四則新的文字郵件。
如需有關依郵件類型傳送通知的更多資訊,請參閱22.3.3 特定郵件類型的通知
您在設定郵件類型的配額時,會在配額根中納入該配額值。配額根可指定使用者的配額。它可為特定郵件類型與電子信箱資料夾指定不同的配額,亦可為並非依類型定義的所有其餘郵件類型、資料夾與郵件指定適用的預設配額。
如需有關設定及管理配額的完整資訊,請參閱20.8.2 配額作業理論
您必須先配置下列參數,方可設定郵件類型的配額:
為各郵件類型設定 store.messagetype.x.quotaroot 參數。如需詳細資訊,請參閱配置郵件類型。
將 store.typequota.enable 參數設為 on。
例如,輸入以下指令:
configutil -o store.typequota.enable -v 1 |
請使用下列其中一種方法設定郵件類型的配額:
使用 LDAP 屬性 mailQuota 或 mailMsgQuota (或兩者),設定使用者的郵件類型配額。
如需有關如何以這些屬性設定配額根的資訊,請參閱「Sun Java Communications Suite 5 Schema Reference」中的第 3 章「Messaging Server and Calendar Server Attributes」內 mailQuota 與 mailMsgQuota 項目。
若未設定 mailQuota 與 mailMsgQuota 屬性,請設定適用於所有個別使用者的預設郵件類型配額。
若要設定預設配額,請使用 store.defaultmessagequota 或 store.defaultmailboxquota 參數 (或兩者)。
如需有關如何以這些參數設定配額根的資訊,請參閱20.8.4 配置郵件儲存配額。
當您以前述 configutil 參數或 LDAP 屬性設定郵件類型的配額時,必須使用以 store.messagetype.x.quotaroot 參數指定的配額根。
本節所說明的範例將設定使用者 joe 的下列配額:
預設電子信箱儲存配額為 40 M
預設電子信箱郵件配額為 5000
Archive 資料夾的儲存配額為 100M
文字郵件類型的儲存配額為 10 M
文字郵件類型的郵件配額為 2000 則
語音訊息類型的儲存配額為 10 M
語音郵件類型的郵件配額為 200 則
此配額根在此 Archive 資料夾中允許的儲存量 (100 M),比其它所有資料夾與郵件類型的允許量總計還大 (60 M)。此外,Archive 資料夾並未設有任何郵件方面的限制;在此範例中,只有儲存限制對歸檔有所影響。
郵件類型具有儲存與郵件數兩種配額。
郵件類型配額會套用至所有此類郵件的總計,無論郵件儲存於 Archive 資料夾還是其他資料夾中。
所有不屬於文字或語音訊息類型,且並非儲存於 Archive 資料夾中的郵件,則會套用預設電子信箱配額。也就是說,郵件類型配額與「歸檔」配額不會計入預設電子信箱配額中。
若要設定此範例中的配額根,應執行下列步驟:
配置 store.messagetype.x.quotaroot 參數,如下所示:
store.messagetype.1.quotaroot = text store.messagetype.2.quotaroot = voice |
配置使用者 joe 的 mailQuota 屬性,如下所示:
mailQuota: 20M;#text%10M;#voice%10M;Archive%100M |
配置使用者 joe 的 mailMsgQuota 屬性,如下所示:
mailMsgQuota: 5000;#text%2000;#voice%200 |
當您執行 getquotaroot IMAP 指令時,所產生的 IMAP 階段作業會顯示使用者 joe 的電子信箱的所有配額根,如下所示:
1 getquotaroot INBOX * QUOTAROOT INBOX user/joe user/joe/#text user/joe/#voice * QUOTA user/joe (STORAGE 12340 20480 MESSAGE 148 5000) * QUOTA user/joe/#text (STORAGE 1966 10240 MESSAGE 92 2000) * QUOTA user/joe/#voice (STORAGE 7050 10240 MESSAGE 24 200) 2 getquotaroot Archive * QUOTAROOT user/joe/Archive user/joe/#text user/joe/#voice * QUOTA user/joe/Archive (STORAGE 35424 102400) * QUOTA user/joe/#text (STORAGE 1966 10240 MESSAGE 92 2000) * QUOTA user/joe/#voice (STORAGE 7050 10240 MESSAGE 24 200) |
過期與清除功能可讓您根據過期規則中所定義的條件,在不同的資料夾之間移動郵件、進行郵件歸檔,以及移除郵件儲存中的郵件。您可以使用 imexpire 公用程式執行這些工作。
imexpire 公用程式由管理員所執行,因此會略過配額限制。
如需有關如何撰寫過期規則及使用 imexpire 公用程式的資訊,請參閱20.9 設定自動移除郵件 (過期和清除) 功能
您可以撰寫過期規則,讓不同類型的郵件根據不同的條件過期。
過期功能極富彈性,您在設定過期條件時可有多種選擇。本節提供文字郵件與語音訊息各依據不同條件而過期的範例。
此範例假設您已依下列方式配置文字郵件與語音訊息類型:
store.messagetype.1 = text/plain store.messagetype.2 = multipart/voice-message |
另外也假設您已配置郵件儲存,使其讀取 Content-Type 標頭欄位以判定郵件類型。
TextInbox.folderpattern: user/%/INBOX TextInbox.messageheader.Content-Type: text/plain TextInbox.messagedays: 365 TextInbox.action: fileinto:Archive VoiceInbox.folderpattern: user/%/INBOX VoiceInbox.messageheader.Content-Type: multipart/voice-message VoiceInbox.savedays: 14 VoiceInbox.action: fileinto:OldMail VoiceOldMail.folderpattern: user/%/OldMail VoiceOldMail.messageheader.Content-Type: multipart/voice-message VoiceOldMail.savedays: 30 VoiceOldMail.action: fileinto:Trash Trash.folderpattern: user/%/Trash Trash.savedays: 7 Trash.action: discard |
在此範例中,文字郵件與語音訊息會按不同的方式過期,並遵循不同的排程,如下所示:
文字郵件會在進入郵件儲存一年以後,從使用者的收件匣移至使用者的 Archive 資料夾中。
語音訊息會在兩週後,從收件匣移至 OldMail 資料夾中。若使用者儲存了語音訊息,則會重設儲存日期,並在新日期起算的兩週後移動訊息。
語音郵件會在 30 天後從 OldMail 資料夾移至「垃圾筒」資料夾中。使用者亦可儲存 OldMail 資料夾中的語音訊息,如此可讓訊息的移除日期延後到新儲存日期起算後的 30 天。
所有類型的郵件在移至「垃圾筒」資料夾達七天後,即會遭捨棄。
過期規則會將語音郵件自動移至「垃圾筒」。文字郵件則會在使用者加以刪除時移至「垃圾筒」。
備註:savedays 規則會使郵件在其儲存日期達指定天數後過期。在一般的語音郵件系統中,使用者均可在語音郵件功能表上儲存語音郵件。文字郵件則會在移至資料夾時進行儲存。messagedays 規則會使郵件在首次進入郵件儲存達指定天數後過期,無論郵件儲存於哪個資料夾,及其移動頻繁與否。