/home.nsf/
12月的 13 號星期五 的 Domino Server

最新消息News

建立人員: Jason chao 建立時間: 2024/12/20
分  類: 最新消息 有效時間: 05/15/2025
主  題: 12月的 13 號星期五 的 Domino Server
內  容:
12月的 13 號星期五 的 Domino Server

這次 Notes/Domino 在12月的 13 號星期五發現了一個問題,這是由於 Domino 伺服器早期開發時產生的錯誤,當時沒有人認為 幾十年後的任何事情都是潛在的問題。猜測應該是 紀元日期的計算公式中的限制造成了這個問題,如果您的 Domino郵件資料庫分在兩個 Domino 伺服器以上,透過 Route 路由的動作會使Domino的郵件路由停止工作(Domino郵件分兩種 Notes Mail 路由與 SMTP Mail路由)。依此,Notes mail 要由 Domino Server A 寄給 Domino Server B 的 User B,或者 Domino Mail server 有再透過 另一台 Domino SMTP Server作為 SMTP 信件轉發,這兩種情形都會因為這次 Router 的問題,造成錯誤訊息,信件無法正確寄送。

參考原廠說明,原廠也在不斷地做內容更新 https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0118192
已 EOS 版本9 或10請參考 9, 10 版本的擴展支持計劃 https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0118252

初步發現是 - 如果您只有一台伺服器,且一個 mail.box 沒有郵件規則,這樣您的Domino Server環境不會受到 郵件傳遞問題的影響,除了郵件規則之外,可能還有其他東西停止工作,因為該問題導致設定無法從配置。
目前的 Workaround 不少,如果需要更清楚的處理方式,請與你的協助廠商詢問。

可以找個資料庫寫一個定期的代理程式,定期檢查 mail.box 中特定屬性的欄位 $hops ,將其設定為 0。
備註 : 這並沒有解決郵件規則的問題,所以 Mail.box 還是不能有 mail rule。mail.box 維持一個。


附上須配合的 Server names.nsf 設定
12, 14 版 Server 的 names.nsf


9 版的 Server names.nsf


附上資料庫的代理程式 (不可以將此代理程式放在 mail.box 中)


Dim session As New NotesSession
Dim mailboxdb As New NotesDatabase(session.Currentdatabase.server,"mail.box")
Dim v As NotesView
Dim doc As notesdocument
If mailboxdb.Isopen Then
Set v=mailboxdb.Getview("mail")
Call v.Refresh()
v.Autoupdate=false
Set doc=v.Getfirstdocument()
Do While Not doc Is Nothing
If Not doc.hasitem("hopsretry") Then
If doc.Getitemvalue("RoutingState")(0)="HOLD" Then
If CStr(doc.Getitemvalue("$hops")(0))="0" then
Call doc.Replaceitemvalue("RoutingState","")
Call doc.Removeitem("SaveOptions")
If doc.Hasitem("RoutingState") And
Not doc.getitemvalue("RoutingState")(0)="" Then
'Keep Form
Else
If doc.Hasitem("MailSavedForm") And
Not doc.getitemvalue("MailSavedForm")(0)="" Then
Call doc.Replaceitemvalue("Form",doc.Getitemvalue("MailSavedForm"))
ElseIf doc.Hasitem("AppointmentType") Then
Call doc.Replaceitemvalue("Form","Notice")
Else
Call doc.Replaceitemvalue("Form","Memo")

End If
End If
Call doc.Replaceitemvalue("$Hops",25)
Call doc.Removeitem("RoutingStateBy")
Call doc.Replaceitemvalue("hopsretry",1)
Call doc.save(True,False)
End if
End If
End If
Set doc=v.Getnextdocument(doc)
Loop
End if
附  件:

Copyright 2012. 崇太科技. All Rights Reserved.
崇太科技實業有限公司 ChunTai Tech Industrial Co., Ltd
台北市10355長安西路180號10樓之1  TEL: +886-2-25581229  FAX :+886-2-25595546