如何使用 VB.NET 从 Lotus Notes 电子邮件获取附件?

发布于 2024-08-12 02:30:31 字数 425 浏览 10 评论 0原文

我正在尝试使用 NotesDocument 对象的 EmbeddedObjects 数组从 Lotus Notes 电子邮件中检索附件。在我的测试中,我设置了一封带有附件的电子邮件并尝试处理它。 NotesDocument 对象的 HasEmbedded 属性返回 true,但是 NotesDocument 对象的 EmbeddedObjects 数组始终什么都没有(无效的)。

alt text

你知道这里会发生什么吗?为什么EmbeddedObjects数组总是什么都没有?

I am trying to retrieve an attachment from a lotus notes email using the EmbeddedObjects array off of a NotesDocument object. In my test, I've set up an email with an attachment and am trying to process it. The HasEmbedded property of the NotesDocument object is returning true however the EmbeddedObjects array of the NotesDocument object is always nothing (null).

alt text

Any ideas what could be going on here? Why is the EmbeddedObjects array always nothing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心房敞 2024-08-19 02:30:31

我认为在我上次的回答中我给出了一个有点不正确的答案。 NotesDocument 的 EmbeddedObjects 属性仅包含嵌入的 OLE 对象,而不包含文件附件。但是,NotesRichTextItem 类有一个embeddedObjects 属性,该属性包含文件附件。因此,如果您知道将保存文件附件的“字段”的名称 - 对于使用标准模板的电子邮件,这将是“正文” - 您可以将该字段作为富文本项获取,然后获取文件附件从那里。这是一个示例:

m_Doc = m_View.GetFirstDocument()
Do Until m_Doc is nothing
if (m_Doc.hasItem("body")) then
    m_rt = m_Doc.GetFirstItem("Body")
        if (m_rt.Type = RICHTEXT) then   ' RICHTEXT=1
            m_objects = m_rt.embeddedObjects
            ... ' same as earlier code to extract attachments
        end if
    end if
end if

I think in my last response I gave a somewhat incorrect answer. The EmbeddedObjects property of a NotesDocument only includes embedded OLE objects, and not file attachments. However, the NotesRichTextItem class has an embeddedObjects property which does included file attachments. So, if you know the name of the "field" which will hold your file attachments - and for email using the standard template, this will be "Body" - you can get that field as a rich text item and then get the file attachments from there. Here is a sample:

m_Doc = m_View.GetFirstDocument()
Do Until m_Doc is nothing
if (m_Doc.hasItem("body")) then
    m_rt = m_Doc.GetFirstItem("Body")
        if (m_rt.Type = RICHTEXT) then   ' RICHTEXT=1
            m_objects = m_rt.embeddedObjects
            ... ' same as earlier code to extract attachments
        end if
    end if
end if
财迷小姐 2024-08-19 02:30:31

您可以使用评估(“@AttachmentNames”,doc)来获取文档中的附件列表。通过名称(evaluate 返回一个数组,即使它只有一个),您可以使用 doc.getAttachment 来获取它的句柄。

You can use evaluate("@AttachmentNames", doc) to get the list of attachments in a document. With the names (evaluate returns an array even if it is only one) you use doc.getAttachment to get a handle on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文