2010-10-22 62 views
1

我想从一个WinForm(.NET)应用程序在Lotus Notes中打开一个新的电子邮件页面(我知道,我知道,我讨厌它......)。现在,我发现使用Interop.Domino.dll非常有用的this。我适应了它一点,它的作品。不幸的是,我不希望发送电子邮件。我只需要打开一个新的邮件窗口与我给它的身体,但没有“要地址”...打开Lotus Notes邮件页面而不从.NET发送

我知道注意问题没有高回复率在这里,但我试试看无论如何。

谢谢!

回答

2

在大于版本6的Windows Notes客户机上,支持Notes:\ URL方案来启动文档。您可以在.Net中动态构造一个URL,指向用户的邮件数据库并打开一个新的邮件表单。

http://www.dominoguru.com/pages/LotusNotes_notesURLs.html有更多的细节,但本质上它是形式注释:\服务器\数据库\ 0 \备忘录的OpenForm

+0

我还没有完全测试过它,但它绝对是我想要做到的。 – 2010-10-28 17:59:47

0

Lotus Domino对象(Interop.Domino.dll)无权访问Notes UI。您需要使用已弃用的,后期绑定的Lotus Notes自动化类。警告:它们会崩溃,这是自从Lotus Notes和Domino R5.0.2c发布以来已被废弃十多年的原因之一。

+0

因为他们是crashy,我会尝试别的东西。感谢提示和警告。 – 2010-10-28 17:53:40

1

任何原因,你不能只在代码中使用一个mailto通话?假设Lotus Notes是客户端系统上的注册邮件处理程序,那么您应该能够传递正文属性并且不会...

+0

这就是他们实际使用的,但它与他们告诉我的约有150个字符的限制。 – 2010-10-28 17:52:14

+0

我认为限制更多地取决于浏览器:例如,许多限制参数大约为255个字符,因此具有长身体字符串的mailto可能会失败。我并不知道Lotus Notes邮件客户端在使用mailto方面有什么特殊限制,但当然可以存在。 – Ben 2010-10-29 08:12:47

0

我终于确实使用了mailto。下面的代码:

公共共享小组OuvrirNouveauMessage(BYVAL destinataire作为字符串,BYVAL sujet作为字符串,BYVAL corpsCourriel作为字符串)

 Dim sFile As String = "mailto:" & destinataire & _ 
           "?subject=" & sujet & _ 
           "?body=" & corpsCourriel 

     If sFile.Length > 2050 Then 
      sFile = sFile.Substring(0, 2050) 
     End If 

     System.Diagnostics.Process.Start(sFile) 

    End Sub 
+0

2050年的限制已经通过Lotus Notes 8.5和IE7进行了测试。其他版本的容差较小。在我们的旧版本中,只能使用255个。不知道,如果它是由浏览器或笔记造成的...... – 2010-11-11 16:23:22

相关问题