【发布时间】: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