La única vez que recibo correos electrónicos con más de 5 destinatarios es cuando circulan chismes en la oficina. Me encantaría crear una regla/filtro para mover cualquier mensaje entrante con más de 5 destinatarios a una carpeta de correo no deseado.
¿Es eso posible con Outlook 2010? No pude encontrar nada parecido en las reglas predeterminadas, no estaba seguro de poder usar VB para la regla. Se agradece cualquier idea.
Respuesta1
Escribí el script VBA usando recursos de StackOverflow y SuperUser si alguien está interesado.
Este script toma todos los correos electrónicos entrantes y cuenta los destinatarios en el To:
campo; si el recuento de destinatarios es mayor que 5, lo marca como leído y lo mueve a una Gossip
carpeta.
También existe una condición secundaria para verificar si el asunto contiene CVS
(obtenemos actualizaciones de nuestro sistema de versiones simultáneas que tiene 10 destinatarios) y moverlo a la carpeta apropiada.
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
Pido disculpas si esto no está en el formato más formal y sé que se puede organizar un poco mejor, pero este fue mi primer intento de utilizar cualquier sintaxis de Visual Basic.