【问题标题】:Outlook Rule with script keeps repeating带有脚本的 Outlook 规则不断重复
【发布时间】:2012-08-11 18:24:04
【问题描述】:

我正在尝试在 Outlook 中运行一条规则,该规则将转发进入特定帐户的任何新邮件,这将更改主题行并将邮件转发到不同的帐户。

我设置了一个规则,在邮件到达后应用该规则,它有一个附件,并且在这台机器上只运行 Project1.ThisOutlookSession.SubjForward 除非邮件正文包含“某些文本”

脚本如下所示

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

该规则可以将邮件转发到新地址,但它会继续转发同一封电子邮件,直到我终止脚本。

有人知道我哪里出错了吗?

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

【问题讨论】:

  • 我从您的代码中看不到任何明显的原因,您可以在转发之前检查该项目是否为“未读”,然后在子末尾将其标记为“已读”,以便它不会再被捡起来。
  • 您在 Outlook 中是否有任何其他默认设置? (即在所有消息上抄送自己等)
  • 那个Different Account也配置了同样的outlook?
  • 马特,谢谢,我会尝试的,虽然我不明白为什么它是必要的。 Gaffi,我可以看到没有其他默认值表明会发生多次转发。 Siddharth,另一个帐户是 gmail 帐户,但与我的前景不同。邮件被发送到我的个人文件夹 -> 发件箱文件夹,然后被发送,但邮件继续被放入该发件箱文件夹并一遍又一遍地发送。
  • 我将脚本剥离为 Sub ChangeSubjectForward(Item As Outlook.MailItem) Item.Subject = "Test 9" Set myForward = Item.Forward myForward.Recipients.Add "test@domain.com" myForward.Send end Sub 。它工作正常,除非来自 gmail 帐户(雅虎、hotmail 等工作正常)。使用outlook自动转发邮件的账号也是gmail账号。所以看来 gmail to gmail 引起了问题。邮件进入收件箱,转发到发件箱,然后从收件箱中消失并重复,直到脚本被杀死

标签: email vba vbscript outlook gmail


【解决方案1】:

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

或者,我真的看不出有需要使用 VBA 吗?你可以在outlook上设置一个规则来转发消息吗?

问候 保罗

【讨论】:

  • 尝试 SubjForward_ItemAdd(ByVal Item As Object) 代替 SubSubjForward(Item As Outlook.MailItem)
猜你喜欢
  • 2015-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 2018-04-06
相关资源
最近更新 更多