How to: Programmatically Perform Actions When an E-Mail Message Is Received
This example performs custom actions when the user receives an e-mail message.
Applies to: The information in this topic applies to application-level projects for Outlook 2013 and Outlook 2010. For more information, see Features Available by Office Application and Project Type.
Example
Dim outlookNameSpace As Outlook.NameSpace
Dim inbox As Outlook.MAPIFolder
Dim WithEvents items As Outlook.Items
Private Sub ThisAddIn_Startup() Handles Me.Startup
outlookNameSpace = Me.Application.GetNamespace("MAPI")
inbox = _
outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderInbox)
items = inbox.Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object) Handles items.ItemAdd
Dim filter As String = "USED CARS"
If TypeOf (item) Is Outlook.MailItem Then
Dim mail As Outlook.MailItem = item
If mail.MessageClass = "IPM.Note" And _
mail.Subject.ToUpper.Contains(filter.ToUpper) Then
mail.Move(outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderJunk))
End If
End If
End Sub
Outlook.NameSpace outlookNameSpace;
Outlook.MAPIFolder inbox;
Outlook.Items items;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
outlookNameSpace = this.Application.GetNamespace("MAPI");
inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
items = inbox.Items;
items.ItemAdd +=
new Outlook.ItemsEvents_ItemAddEventHandler(items_ItemAdd);
}
void items_ItemAdd(object Item)
{
string filter = "USED CARS";
Outlook.MailItem mail = (Outlook.MailItem)Item;
if (Item != null)
{
if (mail.MessageClass == "IPM.Note" &&
mail.Subject.ToUpper().Contains(filter.ToUpper()))
{
mail.Move(outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderJunk));
}
}
}
See Also
Tasks
How to: Create Event Handlers in Office Projects