如何使用AppleScript从Lotus Notes获取电子邮件地址和帐户信息?

如何使用AppleScript从Lotus Notes获取电子邮件地址和帐户信息?,applescript,lotus-notes,Applescript,Lotus Notes,我们有一个包含大约60000封电子邮件的邮箱,我被要求从每个邮箱的正文中提取姓名、账号和电子邮件地址,并将其导出为电子表格格式 我曾考虑使用AppleScript和Notes 8.5,但我找不到任何关于如何在Notes中与单个消息交互的文档 有人能帮忙吗?如果您熟悉脚本语言,我建议改用LotusScript。它使您可以直接访问Notes对象,而不是 您可以使用Notes Designer应用程序在邮箱中创建Notes代理。代码大致如下: Dim s as New NotesSession Dim

我们有一个包含大约60000封电子邮件的邮箱,我被要求从每个邮箱的正文中提取姓名、账号和电子邮件地址,并将其导出为电子表格格式

我曾考虑使用AppleScript和Notes 8.5,但我找不到任何关于如何在Notes中与单个消息交互的文档


有人能帮忙吗?

如果您熟悉脚本语言,我建议改用LotusScript。它使您可以直接访问Notes对象,而不是

您可以使用Notes Designer应用程序在邮箱中创建Notes代理。代码大致如下:

Dim s as New NotesSession
Dim db as NotesDatabase
Dim dc as NotesDocumentCollection
Dim doc as NotesDocument

Set db = s.CurrentDatabase
Set dc = db.Search(|Form="Memo"|, Nothing, 0)
Set doc = dc.GetFirstDocument

While Not (doc Is Nothing)

    'Process each document here...

    Set doc = dc.GetNextDocument(doc)
End While
问题是,电子邮件地址、帐号和名称如何存储在每封电子邮件的正文中

您可以将电子邮件正文中的所有文本提取到一个大的文本文件中,然后使用Applescript进行处理,如果您对此更满意的话

fileNum = Freefile()
pathname = "C:\path\to\file"
Open pathname For Output As fileNum
While Not (doc Is Nothing)

    Set rtitem = doc.GetFirstItem( "Body" )
    Write #fileNum, rtitem.GetFormattedText(False, 0)

    Set doc = dc.GetNextDocument(doc)
End While
Close fileNum
或者您可以使用NotesRichTextItem方法导航并从正文中提取特定数据。如果数据存储在电子邮件正文中的表中,这可能会很有用,因为NotesRichTextItem方法允许您查找表元素并导航单元格(尽管这相当困难,可能值得在StackOverflow上发布第二个问题以获取帮助)

如果您希望从电子邮件的“收件人:”或“发件人:”字段中获取电子邮件地址和名称,则可以通过访问每封电子邮件的NotesDocument属性来更轻松地获取。可以按如下方式提取字段:

Dim ToEmail as String
Dim FromEmail as String

ToEmail = doc.SendTo(0)   'a document's item properties are zero-based arrays
FromEmail = doc.From(0)  

非常感谢您提供的大量信息!我希望我能+10你的精彩回复!据我所知,我没有LotusScription环境,您有权访问Notes设计器吗?或者你能从另一台机器上得到它吗?对我来说,Applescript选项似乎让人望而生畏,尤其是在文档太少的情况下。我已经找遍了我能想到的任何地方,甚至在这个过程中修复了我的Notes帮助问题。:)但是,没有。看起来我被挡在外面了。我同意你的看法。非常感谢你的帮助!