問題
とある自作プログラムからOutlookを利用してメールを送信しようとすると以下のような2つの警告メッセージボックスが毎回表示されてしまいました。
Outlook内に保存されているメールアドレス情報がプログラムによってアクセスされようとしています。これが予期しない動作である場合は[拒否]をクリックして、ウイルス対策ソフトウェアが最新状態であることを確認してください。
プログラムによってメールメッセージが送信されようとしています。これが予期しない動作である場合は[拒否]をクリックして、ウイルス対策ソフトウェアが最新状態であることを確認してください。
この2つを表示されないようにする方法について備忘録として残しておきます。
ちなみに、Outlookのオプション>トラストセンター>プログラムによるアクセス の設定を[警告を表示しない]にしても警告メッセージは消えませんでした(´・ω・`)
環境
・Outlook2016(バージョン 2508)64bit
・Windows10Pro(バージョン 22H2)
解決策
この方法はセキュリティ観点上、あまり推奨されるものではないので自己責任でお願いします。
また、レジストリを操作するため慎重に行ってください。
レジストリエディタを開いてください。
以下のレジストリパスに移動します。
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Security
※「16.0」は今回Outlookが2016なため。環境ごとに自分で書き換えて。
Security に以下の2つの値を新たに追加します。
| 名前 | 種類 | データ |
|---|---|---|
| PromptSimpleMAPINameResolve | DWORD | 2 |
| PromptSimpleMAPISend | DWORD | 2 |
右クリック>新規>DWORD(32ビット)値 で追加できます。データ値は項目追加後に 対象を右クリック>修正 で書き換えてください。
以上です。
念のため再起動もしておきましょう。
私の場合は挙動を見る限り、PromptSimpleMAPINameResolveが1つ目の警告、PromptSimpleMAPISendが2つ目の警告に対応しているっぽいです。
そもそも
2000年にラブレターウイルスなるものが流行ったために、対策として警告メッセージが出るようになったようです。
何度も言いますが、自己責任でお願いします。
参考資料
・Disable 'programmatic access' security in Outlook

