如何:对传入的电子邮件项设置标志
此示例在来自特定发件人的未读邮件到达用户的 Outlook**“收件箱”**时,在这些邮件上设置标志。
**适用于:**本主题中的信息适用于 Outlook 2007 和 Outlook 2010 的应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
示例
Private Sub ThisAddIn_NewMail() Handles Application.NewMail
Dim outlookNameSpace As Outlook.NameSpace = Me.Application.GetNamespace("MAPI")
Dim inbox As Outlook.MAPIFolder = _
outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderInbox)
' Mark each unread message from Jeff Hay with a yellow flag icon.
Dim unreadMailItems As Outlook.Items = _
inbox.Items.Restrict("[Unread]= true")
For Each omailItem As Object In unreadMailItems
Dim unreadMailItem As Outlook.MailItem = Nothing
unreadMailItem = TryCast(omailItem, Outlook.MailItem)
If (unreadMailItem IsNot Nothing) Then
If (unreadMailItem.SenderName = "Jeff Hay") Then
unreadMailItem.FlagIcon = _
Outlook.OlFlagIcon.olYellowFlagIcon
unreadMailItem.Save()
End If
End If
Next
End Sub
private void ThisAddIn_Startup(object sender,
System.EventArgs e)
{
this.Application.NewMail +=
new Outlook.ApplicationEvents_11_NewMailEventHandler
(ThisAddIn_NewMail);
}
void ThisAddIn_NewMail()
{
Outlook.NameSpace outlookNameSpace = this.Application.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = outlookNameSpace.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderInbox);
// Mark each unread message from Jeff Hay with a yellow flag icon.
Outlook.Items unreadMailItems =
inbox.Items.Restrict("[Unread]= true");
foreach (Object omailItem in unreadMailItems)
{
Outlook.MailItem unreadMailItem =
omailItem as Outlook.MailItem;
if (unreadMailItem != null)
{
if (unreadMailItem.SenderName == "Jeff Hay")
{
unreadMailItem.FlagIcon =
Outlook.OlFlagIcon.olYellowFlagIcon;
unreadMailItem.Save();
}
}
}
}