【第0116期2007/9/10】

本週主題

最新消息

  • IBM Lotus Domino/Notes 8 英文版已經正式上市了!!

詳情請看:http://www-306.ibm.com/software/lotus/notesanddomino/

ND8 Linux Client端Demo畫面:

http://www.youtube.com/watch?v=P-qK34CzKjM&eurl=http%3A%2F%2Fcoustenoble%2Etypepad%2Ecom%2F

 

  • 研討會訊息:
日期 主題 地點 適合對象
09月13日 (四) IBM Lotus 企業協同合作新紀元產業應用研討會 - 台北場 (金融業) 台北國際會議中心 202會議室 (臺北市信義路五段一號) IT Manager/IT staff
09月13日 (四) IBM Lotus 企業協同合作新紀元產業應用研討會 - 台北場 (高科技製造業) 台北國際會議中心 202會議室 (臺北市信義路五段一號) IT Manager/IT staff
09月14日 (五) IBM Lotus 企業協同合作新紀元產業應用研討會- 新竹場 新竹國賓飯店 10F 聯誼廳 (新竹市中華路二段188號) IT Manager/IT staff
10月30日 (二) 2007 IBM developerWorks 開發者大會 台北喜來登飯店B2 資訊相關學生/軟體開發人員/資訊主管

 

Top

文章分享

 

使用 IBM Lotus Notes/Domino V8 郵件回收功能

 

原文網址: http://www.ibm.com/developerworks/lotus/library/notes8-recall/

 

級別: 中級

Susan Bulloch (susan_bulloch@us.ibm.com), 技術支援工程師, IBM

2007 8 28

你希望使用郵件回收功能,現在使用 IBM Lotus Notes/Domino V8 您就能夠回收郵件訊息。透過本文瞭解郵件回收(Message Recall)功能的工作方式,以及如何配置、控制和部署該功能。

郵件訊息回收功能是人們最需要的 IBM Lotus Notes/Domino V8 功能之一。預設情況下,伺服器和用戶端將啟用該功能,允許您回收被錯誤發送的郵件訊息。本文將研究郵件回收功能的工作方式,討論如何配置和控制該功能,將涵蓋設計和部署該功能中的一些細節。

郵件回收是如何工作的:基本原理

從用戶的角度看,郵件回收的使用比較簡單。只需打開 Lotus Notes V8 郵件檔的 Sent 視界,選取希望回收的郵件,然後點選 Action 欄中的 Recall Message 按鈕(參見圖 1)。


1. Action 欄的右側展示了 Recall Message 按鈕

然後會出現一個顯示原收件人的對話方塊,可以取消選中,或者選擇收件人來獲得回應(參見圖 2)。


2. Recall Message 對話方塊

點選 OK 後,將顯示對話方塊表明已執行回收請求。如果進行了正確設定,會從收件人郵件中刪除訊息。您將收到一個報告,告知回收了哪些訊息(以及這些訊息是否已被閱讀),是否存在無法回收的訊息以及無法回收的原因。現在來研究一下隱藏在這個簡單過程背後的原理。

 

配置郵件回收功能

Lotus Notes/Domino V8 中已啟用郵件回收功能。無論是從頭開始構建新系統,或是升級伺服器和用戶,都可以使用該功能。如果您需要花費一段時間升級一個大型系統,可能需要先禁用該功能,以便先對用戶進行支援和教育訓練。

使用 Server Configuration 文件來配置郵件回收。這個中心文件允許您方便地為所有伺服器啟用或禁用該功能。Mail Policy 文件可以進一步細化設定,單個的用戶參數設定同樣也可以。

如果沒有 Server Configuration 文件,預設情況下仍會開啟郵件回收功能,預設設定如下:

  • Message Recall:設定為 Enabled
  • 是否允許回收未閱讀狀態的訊息:設定為 Unread Only
  • 允許回收的訊息的最長時間限制: 14 daysMessage Recall:設定為 Enabled

如果部署計畫要求稍後退出該功能,則必須建立一個 Server Configuration 文件暫時關閉它。

若要禁用郵件回收功能,只需打開 Lotus Domino V8 Server Configuration 文件,並將 Message Recall 設定由 Enabled 更改為 Disabled,如圖 3 所示。


3. Server Configuration 文件中的 Message Recall 頁面

實現郵件回收功能的要求

實現郵件回收功能的要求包括:

  • Lotus Domino V8 或更新版本的伺服器,包含要回收的郵件。
  • 基於 Lotus Notes V8 或更新版本郵件範本的郵件檔,使用它來回收訊息。
  • 發件人郵件檔中的郵件訊息副本。(通常會在 Sent 視界中找到它,不過在 All Documents 視界中也可以找到 Message Recall 按鈕。)
  • 允許伺服器執行郵件回收功能的許可(可以選擇在策略和收件人郵件檔級別上給出許可,可以在該級別上關閉郵件回收功能)。

不僅在具備上述最低要求時可以使用郵件回收功能,甚至當請求回收功能的用戶位於非 Lotus Domino V8 的伺服器上時,也可以使用該功能。所需要的就是一個 Lotus Notes V8 郵件範本,它包含一個執行郵件回收操作的按鈕。此外,收件人和發件人之間的中間伺服器可以是任意版本的伺服器,因為此時的請求只是一個電子郵件訊息。

 

郵件回收的限制

郵件回收功能只能用於透過 NRPC 發送的郵件。這意味著無論是發送到 Internet 的郵件還是透過 SMTP 發送的內部郵件都不會被成功回收。

如果存在限制某個用戶使用該功能的 Mail Policy,則該策略會起作用並限制該功能發揮作用。如果不存在任何策略,或者策略允許用戶更改回收設定,則每個用戶都可以在他/她的 Mail Preferences 中選擇禁用該功能。

只有位於 Lotus Domino V8 或更新版本伺服器上的郵件才能被成功回收。Lotus Domino V8 路由器可以執行該操作,因此發送到 Lotus Domino V7 伺服器的回收請求不會被成功執行,而且請求回收操作的用戶將收到一個報告,聲明該伺服器不支援郵件回收功能。

發件人郵件檔中必須保存郵件訊息副本,以便成功回收郵件。如果發件人在發送郵件時沒有保存訊息副本,則無法使用郵件回收功能。由於將檢查簽名(出於安全性考慮),因此原發件人必須從發送郵件的郵件檔回收它。被委託者可以從其他用戶的郵件檔中回收郵件訊息,但是只有當由被委託者發送郵件時才能執行此操作。這表示 Lotus Notes Administrator 或管理助理不能回收由其他用戶發送的訊息,除非有權使用該用戶的 ID 和密碼。

如果郵件被收件人轉發,則轉發郵件無法由原發件人回收,因為 UNID 與原文件的不同。換句話說,Message Recall 沒有找到郵件的轉發副本。任何轉發郵件必須由轉發人回收。

Message Recall 不能用於 IBM Lotus Domino Web Access。如果郵件位於 Lotus Domino V8 伺服器上,並且請求回收操作的用戶擁有用來啟動回收功能的 Lotus Notes V8 郵件範本,則可以回收發送到 Lotus Domino Web Access 用戶的郵件。

郵件回收功能僅用於郵件,不能用於 Calendar To Do 訊息。如果嘗試回收 Calendar To Do 訊息,用戶會看到一個顯示 “This message type cannot be recalled(該訊息類型不能被回收)的彈出框。使用 Reschedule Cancel 選項可以取消或更改這些訊息項,所有版本的 Lotus Notes 日曆中都有這些選項。

 

該功能的工作方式:詳細說明

原發件人點選 Sent(或 All Documents)視界中的 Recall Message 按鈕後,Lotus Notes 用戶端會為選取的郵件建立回收請求。該請求將透過電子郵件發送給用戶選擇的每個收件人或群組。(請注意,圖 2 中顯示了 Internet 用戶的位址,並且回收請求可以透過電子郵件進行發送,但是對於這些用戶來說,郵件回收功能沒有成功執行。)

 

提示:

如果打算暫時執行混合版本系統,那麼考慮在低於 Lotus Domino V8 SMTP 伺服器上設定郵件規則,從而拒絕接收這些訊息。否則,回收報告會被發送到 Internet,這可能會引起收件人的混淆。可以將郵件規則設定為不接受表單包含 “recall” 的訊息。當 SMTP 伺服器升級到 Lotus Domino V8 之後,可以禁用該郵件規則。

 

文件 UNID 用於識別收件人郵件檔中的訊息。如果伺服器能夠執行回收功能,將定位並刪除訊息。路由器將徹底刪除訊息且僅留下刪除存根,還允許從複製副本刪除訊息。即使收件人已經啟用軟刪除,郵件也不會保留在 Trash 資料夾中。由於文件 UNID 用於定位訊息,因此移至資料夾中的所有副本也會被刪除。

請求回收功能的用戶將收到回收結果報告。如果訊息被成功刪除,該報告將包含此資訊,並說明郵件是否被閱讀。如果回收失敗,則該報告將說明失敗原因。在回收訊息後,請求回收功能的用戶的郵件檔中會有兩個非常相似的通知,一個位於 Sent 資料夾,另一個位於 Inbox。這兩個通知用來正確地告知用戶哪些訊息被回收,因此必須告訴用戶在他們對回收結果感到滿意之前應保留這兩個通知。然後再刪除它們。

不會將發生的回收事件告知原始郵件收件人。僅僅從收件人的郵件檔中刪除該郵件。

如果嘗試回收透過 SMTP 發送的訊息,Lotus Domino V8 路由器會發送一個未送達報告(Non-Delivery Report),即 “Message Recall Requests cannot be routed via SMTP”

 

控制郵件回收功能

儘管是在伺服器級別上啟用、禁用和配置郵件回收功能,但可以在其他級別上進行細化和控制,為企業提供良好的靈活性來按照所需的方式應用該功能。

首先可以在 Server Configuration 文件中進行控制,啟用或禁用回收功能;可以選擇回收已閱讀郵件、未閱讀郵件或所有郵件;可供選擇的時間限制範圍從幾分鐘到幾週。

Lotus Notes Administrator 可以使用 Mail Policy 控制功能。Message Recall 選項包括以下內容,如圖 4 所示:

  • 是否允許用戶回收發送的訊息:是/或。
  • 是否允許其他用戶回收向該用戶發送的訊息:是/或。
  • 是否允許回收未閱讀狀態的訊息:只回收未閱讀狀態訊息/回收已閱讀和未閱讀狀態訊息。
  • 允許回收的訊息的最長時間限制:指定週、日、時、分。

4. Server Configuration 文件中的 Mail Policy 設定

 

可以將 Mail Policy 應用於用戶群中的一部份,這些用戶可能由於法律責任需要保留所有郵件訊息,或者用於限制允許回收訊息的用戶。Mail Policy 將重寫 Server Configuration 文件中的設定。例如,如果伺服器允許回收未閱讀郵件,而應用於某用戶的 Mail Policy 允許回收未閱讀和已閱讀郵件,則 Mail Policy 將起作用,未閱讀郵件和已閱讀郵件都可以被回收。這樣將提供針對個別用戶的特殊控制。

除非在伺服器上或透過策略禁用郵件回收功能,否則,用戶也可以控制郵件回收功能。在 User Preferences - Basics 下,可以選擇或取消選擇 “Allow others to recall mail sent to me”。如果用戶取消選擇該選項,該設定會向使用回收功能的用戶發送通知,聲明無法回收郵件。

 郵件回收和法律遵從性

對於很多使用 Lotus Notes/Domino 的企業來說,郵件回收功能是一個全新的概念。問題隨之而來,這個新功能是否會與法律要求發生衝突,特別是很多有關保留電子郵件的最新法律。

針對法律遵從性設計的解決方案通常要求在發送所有郵件時,在到達收件人信箱之前進行記錄。郵件回收功能不會影響此類解決方案。實際上,不僅會對原始訊息進行記錄,還會對回收請求進行記錄。

如果原始郵件需要用於遵從性目的,它應該存放在郵件日誌和off-line存儲設備中(遵從性解決方案的組成部份)。為了進一步確保,郵件回收功能不能回收這些原始郵件。因此,一個健壯的郵件法律遵從性解決方案不應與郵件回收功能發生衝突,並且很多公司已經擁有完全遵從法律的自訂架構的或其他郵件回收解決方案。

 

瞭解一些細節

由於可以離線閱讀 Lotus Notes 郵件,用戶斷開網路連接後,郵件檔中郵件的本地副本的已閱讀和未閱讀狀態與基於伺服器副本的狀態不同,直到發生複製。因此,當用戶離線閱讀郵件時,發送到伺服器的回收請求將告知訊息未被讀取。

移動設備給希望回收訊息所有副本的用戶提出了挑戰。除非將手持設備配置為對基於伺服器的郵件執行刪除操作,否則不會從手持設備中刪除郵件。手持設備的所有者將管理該設定。同時,根據供應商的不同,設備本身可能無法執行郵件回收功能。

如果將郵件發送給名稱含混的用戶,則該郵件不能被回收;回收訊息無法確定哪一個收件人是發件人最初所選定的。

可以從郵件組成功回收郵件,但是如果在郵件發送和回收期間組成員發生了更改,那麼不會將回收通知發給郵件組中已刪除的原始收件人,而且可能會將回收通知發給從未獲得原始郵件的用戶。同樣,可以從包含 Internet 位址的群組回收郵件,但是只有那些具有有效 Lotus Notes 位址的群組內用戶才能收到回收通知。其他請求將導致失敗通知。

最後,始終可以列印和轉發郵件,甚至製作螢幕截圖。在這些情況下,郵件回收功能是不起作用的。郵件回收功能不能保證消除任何或所有郵件蹤跡;而是為用戶提供恢復郵件發送錯誤的功能。

 

結束語

Lotus Notes/Domino V8 Message Recall 對於用戶來說仍是一個新工具,並且它會很受歡迎。當您選擇部署該功能時,應考慮為用戶提供教育訓練,以便他們能夠有效使用它。

 

參考資料

學習


獲得產品和技術


討論

 

關於作者

Susan Bulloch 2000 年起就職於 IBM。在此之前,她曾在多個企業中擔任 Lotus Domino 管理員。在擔任了六年的現場支援工程師之後,Susan 2007 年開始擔任技術支援工程師,協助業務合作夥伴開發和部署 Lotus Notes/Domino 解決方案。Susan blog http://notesgoddess.net,她經常在技術會議中發表演講。

 

 

Top

Lotus Notes 技術分享

 

如何在Web上執行不同欄位類型的欄位驗證?

 

1. 請先在Notes的套表中建立一些測試欄位,請參考下圖之畫面設計:

2. 在上述套表中的JSHeader中貼上如下的程式:

function getItemValue(itemobject){

        var xres=new Array();

        var len=itemobject.length;

        var k=0;

                if(itemobject.tagName=="TEXTAREA"){

                        xres=itemobject.value.split('\n');

                }else if(itemobject.type=="text" ||  itemobject.type=="password" || itemobject.type=="hidden" || itemobject.type=="file"){  

                        xres[k]=itemobject.value;

                }else if(itemobject.type=="select-one"){

                                for(var m=0;m < itemobject.options.length;m++){

                                        if(itemobject.options[m].selected){

                                                xres[k++]=itemobject.options[m].text;

                                        }

                                }             

                }else if(itemobject.type=="select-multiple"){

                                for(var m=0;m < itemobject.options.length;m++){

                                        if(itemobject.options[m].selected){

                                                xres[k++]=itemobject.options[m].text;

                                        }

                                }                     

                }else if(itemobject.type=="radio"){

                                        if(itemobject.checked){

                                                xres[0]=itemobject.value;

                                        }else{

                                                xres[0]="";

                                        }

                }else if(itemobject.type=="checkbox"){

                                        if(itemobject.checked){

                                                xres[0]=itemobject.value;

                                        }else{

                                                xres[0]="";

                                        }

                }else{

                        if(itemobject[0].type=="radio"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        if(x.checked){

                                                xres[k++]=x.value;

                                        }

                                }

                        }else if(itemobject[0].type=="checkbox"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        if(x.checked){

                                                xres[k++]=x.value;

                                        }

                                }

                        }else if(itemobject[0].type=="text" ||  itemobject[0].type=="password" || itemobject[0].type=="hidden" || itemobject[0].type=="file"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        xres[k++]=x.value;

                                } 

                        }else{

                                xres[0]="";

                        } 

                }

        return xres;      

}

3. 在套表中建立一欄位驗證測試按鈕,按鈕的JavaScript程式如下:

//錯誤訊息提示字串

var xmsg="";

//欲驗證之欄位名稱陣列,需注意欄位名稱英文字大小寫

var FName=new Array("Name","Educational","Interest","Introduction","Country");

//欲驗證欄位之說明文字陣列

var FTName=new Array("姓名","最高學經歷","興趣","個人簡介","居住地");

for(var i=0;i<FName.length;i++){

        if(getItemValue(eval("form."+FName[i]))==""){

                xmsg+=(FTName[i]+"\n");

        }

}

if (xmsg!=""){

        alert("尚有以下欄位未輸入,請再確認:"+"\n"+xmsg);   

}else{

        alert("驗證通過!!");

}

 

4.測試畫面如下:

:如有需要可至智頡科技網站(http://www.wmmate.com)下載範例資料庫。  

Top

近期電子報內容預告

後續陸續會發行相關技術的電子報

內容預告如下:

Lotus Notes系統整合&應用介紹

  內容相當豐富敬請期待...

Top


註:如不想繼續收到本公司之電子報或是要介紹朋友訂閱電子報請至本公司網站線上設定/訂閱


智頡科技股份有限公司

Copyright 1999-2007     版權所有 轉載必究

TEL:03-5326262       FAX:03-5344873        Email:support@wmmate.com