Outlookご送信防止策として、自社ドメイン以外のドメインがメールアドレスに含まれていた場合に警告メッセージを送付するマクロを作成しました。まったくオリジナルではなく、ここので紹介されていたマクロを参考に自分の要件にマッチするようにカスタマイズしました。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Const MY_DOMAIN = "*@sample.net" ' 自組織のドメイン名を指定。@ の前に * を付ける Dim objRec As Recipient Dim bOut As Boolean Dim bExternal As Boolean Dim strOut As String Dim iRet As Integer ' 組織外の受信者が複数存在するかどうかの確認 bMixed = False strOut = "" str1stDomain = "" For Each objRec In Item.Recipients If objRec.AddressEntry.Type <> "EX" Then If Not objRec.Address Like MY_DOMAIN And InStr(objRec.Address, "@") > 0 Then strOut = strOut & objRec.Address & ";" bExternal = True End If End If Next ' 組織外の受信者が複数含まれていた場合の処理 If bExternal Then iRet = MsgBox("あて先に複数のドメインのメールアドレスが含まれています。送信しますか?" & _ vbCrLf & "外部ドメイン宛: " & strOut, vbYesNo, "送信確認") Select Case iRet Case vbYes ' 送信日時を 1 分後に設定 Item.DeferredDeliveryTime = DateAdd("n", 1, Now) Cancel = False ' 念のため Case vbNo Cancel = True End Select End If End Sub
マクロを登録する方法は、参考にさせていただいたサイトのこのページを利用すればOKです。
ただし、自己署名のデジタル証明書作成ツールはページに指定された方法で見つけられなかったので、Office 2016の場合は、C:\Program Files (x86)\Microsoft Office\root\Office16\SELFCERT.EXE を直接実行します。
さんのコメント: さんのコメント: