Практическое руководство. Выполнение действий при получении сообщения электронной почты
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом примере событие Microsoft.Office.Tools.Outlook.Application.NewMail используется для выполнения пользовательских действий при получении пользователем сообщения электронной почты.
Пример
Private Sub ThisAddIn_NewMail() Handles Application.NewMail
Dim filter As String = "USED CARS"
Dim outlookNameSpace As Outlook.NameSpace = Me.Application.GetNamespace("MAPI")
Dim inbox As Outlook.MAPIFolder = _
outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderInbox)
Dim items As Outlook.Items = inbox.Items
items.Restrict("[Unread] = true")
' If the mail item matches the specified filter,
' move it to the junk e-mail folder.
For Each mail As Outlook.MailItem In items
If mail.MessageClass = "IPM.Note" And _
mail.Subject.ToUpper.Contains(filter.ToUpper) Then
mail.Move(outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderJunk))
End If
Next
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.NewMail += new Microsoft.Office.Interop.
Outlook.ApplicationEvents_11_NewMailEventHandler(
ThisApplication_NewMail);
}
void ThisApplication_NewMail()
{
string filter = "USED CARS";
Outlook.NameSpace outlookNameSpace = this.Application.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
Outlook.Items items = inbox.Items;
items.Restrict("[Unread] = true");
// If the mail item matches the specified filter,
// move it to the junk e-mail folder.
foreach (Outlook.MailItem mail in items)
{
if (mail.MessageClass == "IPM.Note" &&
mail.Subject.ToUpper().Contains(filter.ToUpper()))
{
mail.Move(outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderJunk));
}
}
}