Единственное время, когда я получаю письма с 5+ получателями, это когда в офисе ходят сплетни. Я бы с удовольствием создал правило/фильтр, чтобы перемещать все входящие сообщения с более чем 5 получателями в папку спама.
Возможно ли это в Outlook 2010? Я не смог найти ничего подобного в правилах по умолчанию, не уверен, можно ли это правило VB. Любое понимание приветствуется.
решение1
Я написал скрипт VBA, используя ресурсы StackOverflow и SuperUser, если кому-то интересно.
Этот скрипт принимает все входящие электронные письма и подсчитывает получателей в To:
поле. Если количество получателей больше 5, сообщение помечается как прочитанное и перемещается в папку Gossip
.
Также есть вторичное условие для проверки того, содержит ли тема CVS
(мы получаем обновления из нашей параллельной системы версий, которая имеет 10 получателей), и перемещения ее в соответствующую папку.
Sub moveOfficeGossip(item As Outlook.MailItem)
Dim strNames As String, i As Integer, j As Integer, cvs As String
Dim olApp As New Outlook.Application
Dim olNameSpace As Outlook.NameSpace
Dim olDestFolder As Outlook.MAPIFolder
j = 1
cvs = "CVS"
strNames = item.To
Set olNameSpace = olApp.GetNamespace("MAPI")
For i = 1 To Len(strNames)
If Mid(strNames, i, 1) = ";" Then j = j + 1
Next i
If (j >= 5) Then
If InStr(UCase(item.subject), cvs) Then
Set olDestFolder = olNameSpace.Folders("Personal Folders").Folders("Filtered").Folders("CVS")
item.Move olDestFolder
Else
Set olDestFolder = olNameSpace.Folders("Personal Folders").Folders("Filtered").Folders("Gossip")
item.UnRead = False
item.Move olDestFolder
End If
End If
End Sub
Прошу прощения, если это не совсем в формальном формате, и я знаю, что это можно было бы организовать немного лучше, но это была моя первая попытка использовать синтаксис Visual Basic.