0

我在 vb.net 中编写了一个 silverlight 应用程序,需要通过 lotus notes 发送电子邮件。我希望通过打开 lotus notes 客户端应用程序、打开一个新的电子邮件窗口并在新的电子邮件窗口中替换所有必要的详细信息(收件人、主题等)来做到这一点。我正在使用下面的代码,但它只打开机器上的 lotus notes 应用程序,除此之外它没有做任何事情。似乎最初的 CreateObject 调用之后的所有内容都被简单地忽略了,尽管它没有抛出任何错误。我曾尝试引用 interops.domino.dll,但作为 silverlight 项目 Visual Studio 声明该 dll 不是为 silverlight 运行时编译的。对此的任何帮助将不胜感激。

Dim outlook = AutomationFactory.CreateObject("Notes.NotesSession")
Dim notesdb = outlook.GetDatabase("", "")                                                                                                 

notesdb.OpenMail()                                                                                            
Dim doc = notesdb.CreateDocument()

Dim msg = "Hey whats up"

doc.ReplaceItemValue("SendTo", "person@temp.com")                                                                                           
doc.ReplaceItemValue("Subject", "Hello")                                                                                              
Dim rtitem = doc.CreateRichTextItem("Body")                                                                                           
rtitem.AppendText(msg)
4

2 回答 2

-1

您此刻所做的就是在后端创建一个新文档并用值填充它。这就像创建一个word文档而不打开它......

您需要更多代码来实际显示您创建的文档。另外你需要分配一个Form,否则Notes不知道如何显示这个文档:

Dim session = AutomationFactory.CreateObject("Notes.NotesSession")
Dim notesdb = outlook.GetDatabase("", "")   
Dim ws = AutomationFactory.CreateObject("Notes.NotesUIWorkspace")
notesdb.OpenMail()
Dim doc = notesdb.CreateDocument()

Dim msg = "Hey whats up"

doc.ReplaceItemValue("Form", "Memo")
doc.ReplaceItemValue("SendTo", "person@temp.com")
doc.ReplaceItemValue("Subject", "Hello")
Dim rtitem = doc.CreateRichTextItem("Body") 
rtitem.AppendText(msg)

ws.EditDocument( True, doc )

由于我不使用 silverlight,我很遗憾无法测试代码,但它应该指向正确的方向。

于 2013-09-10T09:07:10.123 回答
-1

您不能在 Notes 中通过 COM 进行 UI 操作,因为 COM 不支持 UI 类(NotesUIDocument、NotesUIWorkspace...)。

您只能使用 NotesDocument 等后端类,...

这仍然给您留下了很多可能性,因为您可以使用NotesRichTextItemMIMEEntity类来撰写电子邮件。

于 2013-09-10T18:49:12.880 回答