Email 带有脚本的Outlook规则不断重复

Email 带有脚本的Outlook规则不断重复,email,vba,vbscript,outlook,gmail,Email,Vba,Vbscript,Outlook,Gmail,我正在尝试在outlook中运行一个规则,该规则将转发进入特定帐户的任何新邮件,该规则将更改主题行并将邮件转发到其他帐户 我已经设置了一个规则,在消息到达后应用该规则,该规则具有附件,并且在此计算机上仅运行Project1.ThisOutlookSession.subjectforward 除非消息正文包含“某些文本” 脚本如下所示 Sub SubjForward(Item As Outlook.MailItem) Item.Subject = "New Subject" Item.Save

我正在尝试在outlook中运行一个规则,该规则将转发进入特定帐户的任何新邮件,该规则将更改主题行并将邮件转发到其他帐户

我已经设置了一个规则,在消息到达后应用该规则,该规则具有附件,并且在此计算机上仅运行Project1.ThisOutlookSession.subjectforward 除非消息正文包含“某些文本”

脚本如下所示

Sub SubjForward(Item As Outlook.MailItem)

Item.Subject = "New Subject"
Item.Save

Set myForward = Item.Forward
myForward.Recipients.Add "forwardmail@domain.com"

myForward.DeleteAfterSubmit = True

myForward.Send

End Sub
该规则将消息转发到新地址,但它会继续转发相同的电子邮件,直到我终止脚本

有人知道我哪里出错了吗


我已在下面的评论中更新了更多详细信息,谢谢

尝试使用ItemAdd事件处理程序,这样您的脚本只会在新“项目”添加到收件箱(即收到邮件时)时运行

或者,我认为根本不需要使用VBA,真的吗?您可以在outlook上设置转发邮件的规则吗

问候
Paul

我从您的代码中看不出任何明显的原因,您可以在转发之前检查项目是否“未读”,然后在子项的末尾将其标记为“已读”,这样就不会再次拾取。Outlook中是否有其他默认设置?(即,在所有邮件上抄送您自己等)是不是
不同的帐户也配置了相同的outlook?Matt,谢谢,我会尝试一下,尽管我不明白为什么需要这样做。Gaffi,我看不到有任何其他默认情况表明会发生多次转发。Siddharth,不同的帐户是gmail帐户,但与我的outlook不一致。邮件被发送到“我的个人文件夹”->“发件箱”文件夹,然后被发送,但邮件随后一直被放入该发件箱文件夹,并一次又一次地发送。我将脚本剥离为仅
子ChangeSubjectForward(项目为Outlook.MailItem)项目。Subject=“Test 9”Set myForward=Item.Forward myForward.Recipients.Add"test@domain.com“myForward.Send end Sub
。它可以正常工作,但来自gmail帐户的情况除外(yahoo、hotmail等可以正常工作)。使用outlook自动转发邮件的帐户也是一个gmail帐户。因此,gmail到gmail似乎造成了问题。邮件进入收件箱,转发到发件箱,然后从收件箱中消失并重复,直到脚本被终止。try subsubject forward_ItemAdd(ByVal Item As Object)代替Sub subject forward(项目名称为Outlook.MailItem)