在通知区域中显示消息的Outlook图标,而不是在收件箱中

时间:2008-12-04 16:02:02

标签: c++ vba scripting outlook

我有规则设置将一些电子邮件移动到不同的文件夹中。我希望这仍然显示通知区域中的信封,但规则向导中没有选项来执行此操作。看起来我要么必须有规则“运行脚本”或“执行自定义操作”,分别允许vba或c / c ++。

其他人有更好的解决方案吗?

4 个答案:

答案 0 :(得分:1)

查看MailAlert,这是一个完全符合要求的Outlook插件。它仍然可以在Outlook 2007中运行(虽然我最近再次安装它时出现了一些不稳定因素,这可能与也可能不相关)。

答案 1 :(得分:1)

刚刚发布的新版Mail Alert将允许您控制通知图标以及弹出警报和声音警报。以下是2.0中的一些新功能:

  • 声音警报 - 为传入的电子邮件播放声音
  • 通知区域提醒 - 显示通知区域(系统托盘)图标
  • 程序警报 - 运行程序并可以将传入电子邮件中的信息传递给该程序
  • 静音功能 - 快速禁止所有提醒
  • Microsoft Outlook 2007支持
  • 多显示器支持
  • Unicode Exchange服务器支持
  • 更多桌面提醒功能:
    • Aero Glass样式警报窗口(在Windows Vista上)
    • 能够轻松关闭警报窗口
    • 能够直接从警报窗口的按钮
    • 快速打开,回复[全部]或转发消息
    • 能够将消息转换为任务,标记要跟进的消息或将消息移动到另一个文件夹;所有这些都直接来自警报窗口的上下文菜单
    • 能够将警报的默认位置设置为您想要的位置
    • 在显示邮件正文预览之前需要单击的隐私选项

答案 2 :(得分:1)

您也可以使用在代码中执行类似规则的操作来实现 not 。例如:

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

   Dim mai As Object
   Dim strEntryId

    For Each strEntryId In Split(EntryIDCollection, ",")
        Set mai = Application.Session.GetItemFromID(strEntryId)
        If mai.Parent = "Inbox" Then
            If mai.SenderEmailAddress = "the-email-address-the-rule-applies-to" Then
                mai.Move Application.GetNamespace("MAPI").GetFolderFromID("the-entry-ID-of-the-folder-you-want-to-move-the-message-to")
            End If
        End If
        Set mai = Nothing
    Next
End Sub

如何获取文件夹ID (即文件夹的entryID):

这只是一种手动方式,您可以进行递归过程,但出于简单目的,这很好。例如,我的结构如下:

Mailbox - My_Name_Here

     Inbox

          The Subfolder I'm Looking For

     Sent Items

     ...

所以在立即窗口中我输入了:

? Application.GetNamespace("MAPI").Folders(1)

并增加了号码,直到我收到“Mailbox - My_Name_Here”

然后,我打字:

? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(1)

增加号码,直到我收到“收件箱”。

然后:

? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(1)

增加数量直到我得到“我正在寻找的子文件夹”

然后:

? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(the_number_of_the_subfolder_i_was_looking_for).EntryID

就是这样:我想要将消息移动到的文件夹的entryID。你明白了,我确定:)

答案 3 :(得分:1)

在规则向导的第1步中有一个“显示桌面警报”选项。它成功了。编辑具体规则时可以运行此向导。