Нужно вставить вот такой макрос, нажав Alt+F11, развернуть Projects и дабл клик на ThisOutlookSession.
Данный макрос выполняется автоматически при нажатии на кнопку Send. Как видно из кода, засовывается в письмо (Item) новый получатель письма, ему присваивается тип olBCC (что значит скрытая копия) и пытается резолвится. Если срезолвился, то все ок - если не срезолвился - задаем пользователю дурацкий вопрос и отменяем отправку.
В моем случае нужно было только на некоторых из эккаунтов использовать автоотправку. Для этого я проверяю простым ифом проперь: Item.SendUsingAccount
Данный макрос выполняется автоматически при нажатии на кнопку 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 = NothingEnd SubВ моем случае нужно было только на некоторых из эккаунтов использовать автоотправку. Для этого я проверяю простым ифом проперь: Item.SendUsingAccount
Далее сохраняем макрос и тестим, отправляя письмо.
Безопасность. По логике, нужно в Outlook, File, Options, Trust Center, Trust Center Settings, Macro Settings включить все макросы или подписать свой. У меня работало и так.
Если кому-то нужна помощь в кастомной версии макроса: обращайтесь :)