在通知区域显示邮件的Outlook图标,不在收件箱
我有规则设置为将一些电子邮件移动到不同的文件夹。我希望这样仍然可以在通知区域显示信封,但规则向导中没有选项可以执行此操作。看起来我要么必须有规则“运行脚本”或“执行自定义操作”,分别允许vba或c/C++。在通知区域显示邮件的Outlook图标,不在收件箱
其他人有更好的解决方案吗?
您也可以通过使用规则而不是而不是,但使用在代码中执行规则样动作。例如:
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)
,并增加了数量,直到我得到了“邮箱 - 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我想将邮件移至。你明白了,我确定:)
刚刚发布的新版本Mail Alert将允许您控制通知图标以及弹出警报和声音警报。下面是一些新特性在2.0:
- 声音警报 - 播放传入电子邮件
- 通知区域警报声音 - 显示一个通知区域(系统盘)图标
- 计划通知 - 运行一个程序,并可以通过从收到的电子邮件信息,该程序
- 静音功能 - 迅速地抑制所有警报
- 的Microsoft Outlook 2007支持
- 多显示器支持 个
- Unicode的Exchange服务器的支持
- 而更多的桌面通知功能:
- 的Aero Glass风格的警告窗口(在Windows Vista)
- 能够轻易解雇警报窗口
- 能够快速打开,回复[或直接从警报窗口的按钮转发消息
- 将消息转换为任务,标记消息以跟进或将消息移动到另一个文件夹的能力;所有直接从警报窗口的上下文菜单
- 能够设置警报的默认位置是在任何你希望他们
- 隐私选项,需要点击显示在邮件正文
在规则向导的步骤1中有一个选项“显示桌面警报”。它的伎俩。这个向导可以在编辑具体规则时运行。
桌面警报与系统托盘中显示的邮件图标不同。消息到达时,桌面警报会显示几秒钟的弹出窗口。 – Tim 2010-09-22 14:51:18
答案是不正确的。 MailAlert只显示你已经可以使用规则做的弹出通知(可能需要在outlook.exe属性中检查'lauch as admin')。问题是询问有关收件箱中只显示新邮件的新邮件托盘图标。 – 2009-07-17 02:37:39