Lotus domino office 365 mail无法打开notes链接,其中
发生的情况: 用户从Notes邮件更改为Office 365,其电子邮件包含无法访问的Lotus Notes链接(文档链接) 致电rtBody.Appenddoclink(LateInVw,“,”点击查看您今天的出席人数“), 我把“NotesView”放进了office 365上没有显示的电子邮件正文中。我是否可以知道office 365是否有任何方法来标识这是notes客户端应用程序,并尝试打开该视图的notes应用程序Lotus domino office 365 mail无法打开notes链接,其中,lotus-domino,lotusscript,lotus,Lotus Domino,Lotusscript,Lotus,发生的情况: 用户从Notes邮件更改为Office 365,其电子邮件包含无法访问的Lotus Notes链接(文档链接) 致电rtBody.Appenddoclink(LateInVw,“,”点击查看您今天的出席人数“), 我把“NotesView”放进了office 365上没有显示的电子邮件正文中。我是否可以知道office 365是否有任何方法来标识这是notes客户端应用程序,并尝试打开该视图的notes应用程序 Dim tdy As Variant Sub Initialize()
Dim tdy As Variant
Sub Initialize()
Print"Agent:Request for LateIn Reason started running at " & DateValue(Now()) & "," + TimeValue(Now())
On Error GoTo errhandler
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim LateInVw As NotesView
Dim LateInDocs As NotesViewEntryCollection
Dim LateEntry As NotesViewEntry
Dim LateDoc As NotesDocument
Dim StaffVw As NotesView, StaffDoc As NotesDocument
Dim AttVw As NotesView, Attdoc As notesdocument
Dim MailDoc As NotesDocument
Dim rtBody As NotesRichTextItem
Set db=ss.Currentdatabase
Set LateInVw=db.getview("($Today Not Alerted Late-In Time Records)")
Set StaffVw=db.getview("($Active Staff by ID)")
Set AttVw = db.Getview("($Effective Attendance Setting By ID)")
tdy=Datevalue(Now)
'get all time records for today
Set LateInDocs=LateInVw.Allentries
Set lateEntry=LateInDocs.getfirstentry
Do While Not LateEntry Is Nothing
Set LateDoc=LateEntry.Document
Set Attdoc=Attvw.Getdocumentbykey(LateDoc.TStaffID(0), True)
If Attdoc.LateAtt(0)="Yes" Then
If Not ApprovedLateIn(LateDoc, LateDoc.TAmend(0), False) Then
'get staff mail
Set staffDoc=StaffVw.Getdocumentbykey(LateDoc.TStaffID(0), True)
If Not staffdoc Is Nothing Then
'send email with link to main menu
email$=staffDoc.email(0)
Set Maildoc=New NotesDocument(db)
maildoc.Sendto=email$
maildoc.Subject="Smartcard Attendance System: Late-In Notification for " +Format$(LateDoc.TDate(0),"dd/mm/yyyy")
Set rtBody=New NotesRichTextItem(maildoc, "Body")
Call rtBody.appendtext(" Dear"+" "+ staffDoc.StaffName(0)+",")
Call rtBody.AddNewline(2)
Call rtBody.appendtext("You clocked in to work today at "+lateDoc.TAmend(0)+". Please click on the link below to submit your reason for the late attendance. Thank You!")
Call rtBody.Addnewline(1)
Call rtBody.Appenddoclink(LateInVw, "", "Click to view your attendance today")
Call rtBody.Addnewline(2)
Call rtBody.Appendtext("***If the box to key in the late-in reason does not appear, kindly use the 'History Attendance' to key-in instead.")
maildoc.send(False)
End If
End If
'End If 'check late-in on/off in attendance settings
LateDoc.LateInAlert="Send"
Call LateDoc.save(True,False)
End If 'check late-in on/off in attendance settings
Set LateEntry=LateInDocs.Getnextentry(LateEntry)
Loop
Print"Agent:Request for LateIn Reason ended running at " & DateValue(Now()) & "," + TimeValue(Now())
Exit Sub
errhandler:
Print "Got error " & Error$ & " on line " & CStr(Erl)
Resume next
Print"Agent:Request for LateIn Reason ended running at " & DateValue(Now()) & "," + TimeValue(Now())
End Sub
这是我将代码重写为Mime格式的示例
Sub Initialize
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
'Dim Doc As NotesViewEntryCollection
Dim LateInVw As NotesView
Dim Ec As NotesViewEntryCollection
Dim Entry As NotesViewEntry
Dim Doc As NotesDocument
Dim MailDoc As NotesDocument
Dim rtBody As NotesRichTextItem
Set db=ss.Currentdatabase
Set vw=db.getview("(test send mail)")
tdy=DateValue(Now)
%Rem
Set replydoc = db.Createdocument()
Call replydoc.Replaceitemvalue("Form", "Memo")
Call replydoc.Replaceitemvalue("Subject", "Pre-check Passed - " + apptitle)
Call replydoc.Replaceitemvalue("SendTo", indoc.From(0))
Call replydoc.Replaceitemvalue("BlindCopyTo", mailinadd)
Set body = replydoc.Createmimeentity
%End Rem
Set EC = vw.Allentries
Set Entry=Ec.getfirstentry
Do While Not Entry Is Nothing
Set Doc = Entry.Document
email$="chee111385@gmail.com"
Set Maildoc= db.Createdocument()
Call Maildoc.Replaceitemvalue("Form", "Memo")
Call Maildoc.Replaceitemvalue("Subject", "Test Send Mail, Mime Format")
Call Maildoc.Replaceitemvalue("SendTo",email$)
Set body = Maildoc.Createmimeentity
ss.Convertmime = False
Set stream = ss.Createstream()
stream.Writetext(|<html><body>|)
stream.Writetext(|<p>Dear Sir, | + |,</p>|)
stream.Writetext(|<p>This is a testing mail. Thanks You!<br>| + |</p>|)
stream.Writetext(|<p>|+|Notes://Mulu/482577AE00260EC5/|+ +Doc.Universalid+|</p>|)
Call stream.Writetext(|</body></html>|)
Call body.Setcontentfromtext(stream, "text/html;charset=UTF-8", 1725)
Call maildoc.Send(False)
ss.Convertmime = True
Set Entry = EC.Getnextentry(Entry)
Loop
End Sub
子初始化
将ss变暗为新注释会话
Dim db As NotesDatabase
将大众汽车调暗为注释视图
'Dim Doc As NOTES VIEWENTRYCollection
如注释视图所示的暗淡延迟视图
Dim Ec As NotesViewEntryCollection
作为备注的Dim条目VIEWENTRY
标注文档作为注释文档
Dim MailDoc As NOTES文档
将rtBody标注为注释RichTextItem
设置db=ss.Currentdatabase
设置vw=db.getview(“(测试发送邮件)”)
tdy=日期值(现在)
%雷姆
Set replydoc=db.Createdocument()
调用replydoc.Replaceitemvalue(“表单”、“备忘录”)
调用replydoc.Replaceitemvalue(“主题”,“通过预检查-”+apptitle)
调用replydoc.Replaceitemvalue(“SendTo”,indoc.From(0))
调用replydoc.Replaceitemvalue(“BlindCopyTo”,mailinadd)
Set body=replydoc.Createmimeentity
%终止Rem
设置EC=vw.Allentries
Set Entry=Ec.getfirstentry
不进入即不进入
Set Doc=Entry.Document
电子邮件$=”chee111385@gmail.com"
设置Maildoc=db.Createdocument()
调用Maildoc.Replaceitemvalue(“表单”、“备忘录”)
调用Maildoc.Replaceitemvalue(“主题”,“测试发送邮件,Mime格式”)
调用Maildoc.Replaceitemvalue(“SendTo”,email$)
Set body=Maildoc.Createmimeentity
ss.Convertmime=False
Set stream=ss.Createstream()
stream.Writetext(| |)
stream.Writetext(|亲爱的先生,|+|,|)
stream.Writetext(|这是一封测试邮件。谢谢!
|+||)
stream.Writetext(||+| Notes://Mulu/482577AE00260EC5/|++文档Universalid+||)
调用stream.Writetext(| |)
调用body.Setcontentfromtext(流,“text/html;charset=UTF-8”,1725)
调用maildoc.Send(False)
ss.Convertmime=True
设置条目=EC.Getnextentry(条目)
环
端接头
我不知道如何直接打开notes文档…因为每次单击链接都会转到框架集本身…这是不正确的 如果您只询问这一个应用程序,那么您需要做的是了解notes://URL,您可以这样做。您只需要更改代码,为视图生成格式正确的URL,而不是doclink,或者除了doclink之外。当用户单击notes://URL时,notes客户端将打开并将用户带到视图
但是,如果您实际上有很多应用程序向用户发送doclinks,那么您可能需要寻找一种解决方案,该解决方案安装在Domino服务器上,并自动处理所有应用程序的doclinks,而无需更改任何代码。一家名为Genii Software的公司有一款名为CoExLinks Fidelity的产品可以实现这一点 你在给我指一条正确的路!但是我不确定你能不能给我一些建议!将发布一些图片!