我有一封收到的电子邮件(mail-in db),其中包含一个RichTextField,其中找到了“some”附件。我也发现附件不是在RTF中,而是在文档中作为$ FILE。我试图处理所有对象,将它们复制到另一个外发电子邮件。我可以使用下面的代码找到$ FILE。
Dim rtiObject as NotesEmbeddedObject
Dim rti_Email as NotesRichTextItem
Dim obj_Email as NotesEmbeddedObject
ForAll p in mailDoc.items
if p.Name = "$FILE" then
set obj_Email = mailDoc.GetAttachment(p.Values(0)) 'this will return the Name of the attachment (or file)
set rtiObject = rti_Email.EmbedObject( EMBED_ATTACHMENT, "", obj_Email.Name) 'this is supposed to attach the file to the document's RTF
End If
End ForAll
当这个脚本运行时,它找到$ FILE文件并返回名称而不是对象,我不能从那里做任何事情。
从原始文档中获取附件/对象($ FILE)并将其附加到外发电子邮件中的RTF,我需要做什么?
我考虑将附件分离到网络,然后将其附加到外发电子邮件,然后从网络中删除附件,但这似乎不切实际。
是否有更好的方法可以在传入的电子邮件中处理这些$ FILE类型的附件,从而使这更容易?
答案 0 :(得分:3)
尝试EmbeddedObjects
对象的NotesDocument
属性。像这样:
Forall obj_Email in MailDoc.EmbeddedObjects
If obj_Email.Type = EMBED_ATTACHMENT then
Call obj_Email.Extract(sometempdirectory$ & obj_Email.Name)
Call rti_Email.EmbedObject(EMBED_ATTACHMENT, "", sometempdirectory$ & obj_Email.Name)
End Forall
如果您愿意,也可以without detaching。
答案 1 :(得分:0)
您可以通过前面的〜。
访问$ File字段filename$ = mailDoc.~$File(0)
Set fileObj = mailDoc.GetAttachment(filename$)
Call fileObj.ExtractFile(filename$)