如何通过电子邮件包含注释 link 打开 xpages 客户端

How to Email include Notes link to open xpages client

我在发送笔记 link 到电子邮件以便直接从电子邮件客户端打开它时遇到问题。我创建的 link 是否无效?我可以知道哪种发送笔记的正确方法 link 打开 xpages 页面吗?

问题1.xpages中如何通过点击注释打开带有文档ID的文档link?

一种方式:我的理解是显示 xpages 的形式。我可以知道还有其他方法吗?

问题2.如何打开没有文档ID的Xpages页面 比如包含视图的页面。

我的文档link写成:

var doclink="notes://"+server+"/"+dname.replace(/(\)/g, "/")+"/"+document1.getDocument().getUniversalID()+"/Request_Form.xsp?OpenXpages"

结果出来 link:

我的看法link写成:

var viewlink ="notes://" +server+"/"+dname.replace(/(\)/g, "/")+"/"+"Request_View.xsp?OpenXPage"

结果出来 link:

我的服务器和数据库名称如下

下面是我发送邮件的脚本

var setdoc:NotesDocument = database.getProfileDocument("System Setting", "");
var server = setdoc.getItemValueString("MailDBSvr");
var dname = setdoc.getItemValueString("MailDbPath");
var web = setdoc.getItemValueString("InternetAddress");


var maildoc:NotesDocument = database.createDocument()//mdb.createDocument()  //database.createDocument()
maildoc.replaceItemValue("Form", "Memo");
maildoc.replaceItemValue("Subject","Request for Email Account By "+document1.getItemValueString('Name'));
session.setConvertMime(false);
var stream = session.createStream();
stream.writeText("<html><body>");

stream.writeText("<p>Dear " + "department reviewer" + ",</p>");
stream.writeText('<p>Kindly review this request by '+document1.getItemValueString('Name')+" on "+I18n.toString(@Today(), 'dd/MM/yyyy')+ ",</p>");

//  open in web (http://devsvr1.pcs.com.my/CN=ServerOne/O=dev!!Brooke%5CBrooke.nsf/Request_Form.xsp?databaseName=CN=ServerOne/O=dev!!Brooke%5CBrooke.nsf&documentId=5FBA577C3DF795AB4825819400274B0A&action=editDocument)
stream.writeText("<p>Please click "+"<a href='http://"+web+"/"+
database.getServer()+"!!"+
XSPUrl.encodeParameter(dname, "UTF-8") +
"/"+"Request_Form.xsp?databaseName="+server+"!!"+
XSPUrl.encodeParameter(dname,"UTF-8") +
"&documentId="+document1.getDocument().getUniversalID()+
"&action=editDocument'>here</a> to open requisition form</p>")


//  open in notes client (notes://server/path/database.nsf/pagename.xsp?openXpage)
var doclink="notes://"+server+"/"+dname.replace(/(\)/g, "/")+"/"+document1.getDocument().getUniversalID()+"/Request_Form.xsp?OpenXpages"

stream.writeText("<p><a href='"+doclink+"'>Click Here</a> if you are in the Notes Client. Thank you.</p>");

stream.writeText("<p>Or</p>");

//  open in web (http://devsvr1.pcs.com.my/brooke/brooke.nsf/Request_View.xsp)

stream.writeText("<p>Click <a href='http://"+web+"/"+dname.replace(/(\)/g, "/")+"/"+"Request_View.xsp?'>here</a> to view all requisitions.</p>");

//  Open in notes Client
//  @URLOpen("notes://server/Path/database.nsf/XPageName.xsp?OpenXPage")
var viewlink ="notes://" +server+"/"+dname.replace(/(\)/g, "/")+"/"+"Request_View.xsp?OpenXPage"

stream.writeText("<p><a href='"+viewlink+"'>Click Here</a> if you are in the Notes Client. Thank you.</p>");

stream.writeText("<p> ***THIS IS AN AUTOMATED MESSAGE - PLEASE DO NOT REPLY DIRECTLY TO THIS EMAIL***</p>");

stream.writeText("</body></html>");
var body = maildoc.createMIMEEntity("Body");
body.setContentFromText(stream, "text/html;charset=UTF-8", 1725);
stream.close();
maildoc.closeMIMEEntities(true);
session.setConvertMime(true);

maildoc.replaceItemValue("SendTo",document1.getItemValue("Dep_rev"));       

maildoc.send(); 
document1.getDocument().computeWithForm(true,true);

新更新:

您需要更改处理服务器名称的方式。 Notes URLs 不要使用服务器的完整规范名称。

因此将 CN=ServerOne/O=Dev 更改为 notes:// 协议支持的内容。您可以使用:

  • 缩短的名称ServerOne%2FDev(使用@Name[Abbreviate] 并将 / 替换为 %2f)
  • 通用名称ServerOne(使用@Name[CN])
  • DNS 名称www.yourserver.com
  • IP地址:165.34.11.34

在所有情况下,您都需要确保 Notes 客户端正确解析服务器名称:

  • 对于缩短的名称,连接文档可以解决问题(除非它是默认服务器,否则它是自动的)。
  • 对于通用名称,它要么是一个连接文档,要么是 DNS 解析它(内网 DNS)
  • 对于 DNS 名称,其 DNS (doh)
  • 您确实不想使用 IP 地址,但您可以

希望对您有所帮助