вівторок, 25 червня 2013 р.

Outlook Auto BCC - как заставить аутлук автоматически слать СК (скрытая копия или BCC) каждого сообщения

Нужно вставить вот такой макрос, нажав Alt+F11, развернуть Projects и дабл клик на ThisOutlookSession.

Данный макрос выполняется автоматически при нажатии на кнопку Send. Как видно из кода, засовывается в письмо (Item) новый получатель письма, ему присваивается тип olBCC (что значит скрытая копия) и пытается резолвится. Если срезолвился, то все ок - если не срезолвился - задаем пользователю дурацкий вопрос и отменяем отправку.

Private Sub Application_ItemSend(ByVal Item As Object, _
                                 Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    On Error Resume Next
 
    ' #### USER OPTIONS ####
    ' address for Bcc -- must be SMTP address
    ' or resolvable to a name in the address book
    strBcc = "address@domain.com"
 
    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
        strMsg = "Could not resolve the Bcc recipient. " & _
                 "Do you want to send the message?"
        res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                "Could Not Resolve Bcc")
        If res = vbNo Then
            Cancel = True
        End If
    End If
 
    Set objRecip = Nothing
End Sub


В моем случае нужно было только на некоторых из эккаунтов использовать автоотправку. Для этого я проверяю простым ифом проперь: Item.SendUsingAccount

Далее сохраняем макрос и тестим, отправляя письмо.

Безопасность. По логике, нужно в Outlook, File, Options, Trust Center, Trust Center Settings,  Macro Settings включить все макросы или подписать свой. У меня работало и так.



Если кому-то нужна помощь в кастомной версии макроса: обращайтесь :)

Немає коментарів: