是否可以通过电子邮件更新Lotus Notes中的条目,就像posterous一样? 如果有可能,我该怎么做? 感谢。
答案 0 :(得分:2)
非常简单。
您需要做的是在邮件数据库中创建一个代理,该代理将处理传入的邮件(这将需要Domino Designer以及邮件数据库中的相应权限)。
根据您的要求,您可以定期(例如,每小时一次)或特定事件(例如,当新邮件到达时)触发代理。
我写过的所有代理都是LotusScript(有点像VBA),他们可以扫描数据库中的文档,检查状态,标题等,以决定做什么。
我最近为某人写的一篇文章如下。调用时,它基本上通过InBox检查每个文档,检查包含“qwertyuiop”的主题标题,并创建一个回复发件人的响应电子邮件,其中包含附加了“SUCCESS”的相同主题。
然后它将文档从InBox移动到垃圾文件夹。由于不需要立即响应,因此该特定代理每60分钟运行一次。您应该能够从代码中获取意图。
Sub Initialize
Dim s As New notessession
Dim db As notesdatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim olddoc As NotesDocument
Dim subj As String
Dim newdoc As NotesDocument
Set db = s.CurrentDatabase
Set view = db.GetView("($InBox)")
If Not view Is Nothing Then
Set doc = view.GetFirstDocument
While Not doc Is Nothing
Set olddoc = doc
Set doc = view.GetNextDocument(doc)
subj = olddoc.GetFirstItem("subject").Text
If Instr(subj, "qwertyuiop") > 0 Then
Set newdoc = New NotesDocument(db)
newdoc.SendTo = olddoc.GetFirstItem("inetfrom").Text
newdoc.subject = subj & " SUCCESS"
newdoc.form = "Memo"
Call newdoc.send(True,True)
Call olddoc.RemoveFromFolder( "($InBox)")
Call olddoc.PutInFolder( "junk")
End If
Wend
End If
End Sub
您可能需要对此稍作修改,这将打开一个不同的数据库,并根据邮件文档更改其中的文档。
您真正需要的只是电子邮件中的一个键,可以识别辅助数据库中应该更改哪个文档,以及一些可以根据邮件内容应用更改的逻辑。
这是留给读者的练习。我给你的东西应该足以开始了(当你玩这个时再问一个问题)。
答案 1 :(得分:1)
很简单。在Notes中,您可以将任何数据库设置为电子邮件的目标。它有自己的电子邮件ID(例如productupdates@acme.com)。然后你编写一个代理,运行“新电子邮件到达时”。新文档位于session.currentdatabase.unprocesseddocuments
集合中。您的电子邮件当然必须包含允许您确定要更新的文档的内容。 Notes在内部使用NotesDocumentUniqueID作为主键,但我想您更愿意选择业务字段。使用NotesMimeEntry,您可以访问电子邮件中的HTML格式的内容,以防您通过电子邮件发送表格。