拿着他的照片,抱着回忆,就能度过每一天么?所以,给她点时间吧。
雨夜观月
使用Agent转发Lotus邮件
经发现,直接复制粘贴本文内容过去,导致双引号和单引号有问题,因此会有代码出错,建议粘贴过去前,先将”和’检查下,将lotus里粘贴过来的所有双引号和单引号用”和’替换一遍即可。否则会有红色字提示代码出错。
我在文末也附上txt档的文本,里面的双引号和单引号是对的。可以粘贴txt文档里的代码,点此下载1.。
1.
首先,新建一个Agent,其Runtime这里的属性选择为on event,after new mail has arrived。如下图。
2.
Declarations里,定义如下变量,
TargetEmail改成你自己需要转发的Email
Const TargetEmail = “XXX@xxx.com”
Dim db As notesdatabase
Dim session As NotesSession
3.
在Initialize那里,输入如下的代码:
Sub InitializeDim doc As NotesDocumentDim ReturnVal As BooleanDim PojistkaMax As IntegerDim collection As NotesDocumentCollectionDim Addeditem As NotesItemDim CurAgent As NotesAgentDim docStatus As VariantDim docProcessed As BooleanSet session = New NotesSessionSet db = session.CurrentDatabaseSet CurAgent = session.CurrentAgentPojistkaMax = 0Set collection = db.UnprocessedDocumentsSet doc = collection.GetFirstDocument()While Not(doc Is Nothing Or PojistkaMax>20)docStatus=””docProcessed = FalseIf (Doc.HasItem(CurAgent.Name & “_done”)) ThendocStatus = Doc.GetItemValue(CurAgent.Name & “_done”)If (Cstr(docStatus(0))=”1″) Then docProcessed=TrueEnd IfIf (docProcessed=False) ThenCall ProcessEmail (doc)If (Doc.HasItem(CurAgent.Name & “_done”)) ThenCall doc.ReplaceItemValue(CurAgent.Name & “_done”,”1″)Call doc.Save( True, False, False )ElseSet Addeditem = doc.AppendItemValue ( CurAgent.Name & “_done”, “1” )Call doc.Save( True, False, False )End IfEnd IfCall session.UpdateProcessedDoc(doc)Set doc = collection.GetNextDocument(doc)PojistkaMax = PojistkaMax + 1WendEnd SubSub ProcessEmail (Mydoc As NotesDocument)Dim rtnav As NotesRichTextNavigatorDim MyMssgHeader As StringDim rtitem As NotesRichTextItemDim Maildoc As NotesDocumentDim senderdomain As StringDim b As IntegerDim FromItem As NotesItemDim FromName As StringDim FromEmail As StringDim FromIDENT As StringDim FromOrig As StringDim ItemValue As VariantDim m_strForm As StringOn Error Goto GenErrorIf (MyDoc.IsEncrypted) Then Exit SubIf (myDoc.HasItem(“$KeepPrivate”)) ThenItemValue = MyDoc.GetItemValue(“$KeepPrivate”)If (Cstr(ItemValue(0))=”1″) Then Exit SubEnd IfIf (Not myDoc.HasItem(“From”)) Then Exit SubSet Maildoc = New NotesDocument(db)Call Mydoc.CopyAllItems( Maildoc, True )‘ If (Maildoc.HasEmbedded ) ThenSet rtitem = Maildoc.GetFirstItem(“Body”)‘ If ( rtitem.Type = RICHTEXT) Then‘ If (Not (Isempty(rtitem.EmbeddedObjects))) Then‘ Forall o In rtitem.EmbeddedObjects‘ If ( o.Type = EMBED_ATTACHMENT ) Then‘ Call o.Remove‘ End If‘ End Forall‘ End If‘ End If‘ End IfFromIDENT=””FromEmail=””FromName=””FromOrig=””If (MailDoc.HasItem(“Principal”)) ThenFromOrig=MailDoc.Principal(0)ElseFromOrig=MailDoc.From(0)End IfIf (Instr(1,FromOrig,”CN=”)>0 And Instr(1,FromOrig,”OU=”)>0) ThenFromIDENT=FromOrigElseCall ParseAddr (FromOrig,FromName, FromEmail)End If‘ add by JamesIf FromOrig =”Mail Router” ThenExit SubEnd IfIf FromOrig =”gcsecpoccoord” ThenExit SubEnd IfIf FromOrig =”LotusQuickr@USSECAVPQUCK02.na.ey.net” ThenExit SubEnd Ifm_strForm = MailDoc.GetItemValue ( “Form”)(0)If (Strcompare(m_strForm, “Delivery Report”) = 0) ThenExit SubEnd IfIf (Strcompare(m_strForm, “NonDelivery Report”) = 0) ThenExit SubEnd IfIf (Strcompare(m_strForm, “Trace Report”) = 0 ) ThenExit SubEnd IfIf (Strcompare(m_strForm, “Return Receipt”)= 0) ThenExit SubEnd If‘ end by JamesIf (FromIDENT<>””) ThenMailDoc.Principal = FromIDENTElseIf (FromEmail=””) ThenMailDoc.Principal = FromOrigElseMailDoc.Principal = FromName & ” <” & FromEmail & “@NotesDomain” & “>”MailDoc.INetFrom = FromName & ” <” & FromEmail & “>”End IfEnd IfIf (Mydoc.HasItem(“ReplyTo”)) ThenMaildoc.ReplyTo = Mydoc.ReplyTo(0)End Ifrtitem.AddNewline(2) ‘ add 2 new lines at the end of Bodyrtitem.AppendText(“In the Sent field was: “) ‘ add this text at the end of body, you can modify this part to add this only if in From field is allready somethingFor b=0 To Ubound(Maildoc.SendTo)rtitem.AppendText(Maildoc.SendTo(b) + “, “) ‘add all elements from From fieldNextrtitem.AddNewline(2) ‘ add 2 new lines at the end of Bodyrtitem.AppendText(“In the CC field was: “) ‘ add this text at the end of body, you can modify this part to add this only if in CC field is allready somethingFor b=0 To Ubound(Maildoc.CopyTo)rtitem.AppendText(Maildoc.CopyTo(b) + “, “) ‘add all elements from CC fieldNextrtitem.AddNewline(2) ‘ add 2 new lines at the end of Bodyrtitem.AppendText(“In the BCC field was: “) ‘ add this text at the end of body, you can modify this part to add this only if in CC field is allready somethingFor b=0 To Ubound(Maildoc.BlindCopyTo)rtitem.AppendText(Maildoc.BlindCopyTo(b) + “, “) ‘add all elements from CC fieldNextIf (Maildoc.HasItem(“CopyTo”)) ThenMaildoc.CopyTo = “”End IfIf (Maildoc.HasItem(“BlindCopyTo”)) ThenMaildoc.BlindCopyTo = “”End IfMaildoc.SendTo = TargetEmailCall Maildoc.Send(False)Set Maildoc = NothingExit SubGenError:Set Maildoc=NothingSet Maildoc = New NotesDocument(db)With Maildoc.Subject=”An error occured while parsing”.SendTo = TargetEmail.Body=”An error occured while parsing message ” & Mydoc.Subject(0) & “, from: ” & Mydoc.From(0) & “….Err msg: ” & Error$Call .Send(False)End WithSet Maildoc=NothingExit SubEnd SubSub ParseAddr (ParseWhat As String, Part1 As String,Part2 As String)Dim i As IntegerDim i2 As Integeri=Instr(1,ParseWhat,”<“)i2=Instr(i,ParseWhat,”>”)If (i>=i2) ThenExit SubEnd IfIf (i=0) Then i=0If (i2=0) Then i2=Len(ParseWhat)+1If (i>=3) ThenPart1=Mid(ParseWhat,1,i-2)End IfPart2=Mid(ParseWhat,i+1,i2-i-1)If (Instr(1,Part2,”@”)=0) ThenPart2=””End IfEnd Sub
之后,系统会自动帮你分割成如下的图:
4.
确认Terminate那边有如下的语句:
Sub TerminateEnd Sub
以上是通过Agent转发邮件的一个方法,已经考虑到了大部分的死循环问题,但不保证100%不会发生。本人编程水平有限。
以上资料供各位学习编程知识使用,请根据公司邮件要求/规则适当使用,本人不对使用上述代码所造成的损失负责。
故事二则
故事一:
男孩结婚后对自己的妻子比结婚前更好。一次聚会,朋友笑他:怎么结婚了还那么腻。他讪讪地笑着说道:结婚前,很多男生都想追她,我只有对她更好才能追到她;结婚后,对她好的男生越来越少,我只有对她更好,才能不让她失落。我所做的一切就是想让她幸福。
说完,所有的朋友都沉默了,没有嘲笑,只有敬佩。
故事二:
丈夫在床边护理即将临盆的妻子。妻子问丈夫,你希望是男孩还是女孩?丈夫说:如果是男孩,我们爷俩保护你,如果是女孩,我保护你们娘俩。
李承鹏:每个人有一个回不去的家乡
我看到一个视频(视频地址),一个年轻人这一年终于可以回家,爸妈做好菜等他。可半路上他接了老板的电话,车停在一座桥上进退不得……这是我见过的一个有想法的广告,那桥很隐喻,就是新时代的奈何桥,前面的家乡,后面的职场,对这一代年轻人,职场是回不去的家乡,家乡是够不到的职场。 社会给这一代太大的鸭梨,他们头大得像菠萝,身体蔫得像黄瓜,不要怪他们不回家,回家的路如此漫长,以至于老板一个电话,就可让他跟爸妈咫尺天涯……更多的时候你回了家,但找不到家的感觉,你以为你回家了,其实你永远在路上。因为你夹起饺子就想起同事为何对你阴险地笑笑,他肯定给老板打了小报告。端起酒杯就想起老板在年会上暗示有人不忠诚,说不定他发现了想跳槽。还有按揭,还有女友说的LV包,是不是给她弄个LU包……
近期评论