Outlook のメールを読んで、指定した情報をVBAを使って抜き出す

データベースを使わない、または外部のウェブサービスからのメールを受信していて、そのメールの中から住所を抜き出し、顧客分布を測定したい時がある。Excel とOutlook ならVBA が使えるので、それを一部自動化した。

この解説は、限られた条件で使ったものなので、サンプルプログラムとして記録を残す。

前提

Oltlook の受信トレイに「予約」フォルダ、その直下に「A店」と「B店」のフォルダがある

受信トレイ
└予約
├A店
└B店

それぞれのフォルダはOutlook のルールで、件名ごとにフォルダ分けされるようになっている

「A店」と「B店」に保存されたメールの中に、「住所」情報がある

実装したい機能

指定したフォルダを次々に読み込んで、住所を抜き出し、都道府県、市町村、区、その他で横方向のセルに挿入する

セルは横方向が属性、縦方向がメールごとの内容にして、データを表に入力する

VBA スクリプト

 

 

動作

スクリプトを実行すると、シート”email”に結果を書き出す

ビジネスアカウント宛てのスパムメールを楽に迎撃する

ビジネスで使うメールアカウント宛てにスパムメールが届くことがある。届くこと自体で、スパムメールを全く受け取っていない人より仕事の処理能力が低下する。それに、セキュリティリスクにもつながる。スパムメールを迎撃する方法を探った。

メールアカウント名を変える

アカウント名の変更は、名刺に書いてあるから現実的ではないと考える方もいるだろう。
しかし、ダークウェブで販売されている個人情報リストから逃れられる。

手順

  • 新アカウントを作成してメーラーに設定
  • 取引相手にBCC でメールアカウント変更を通知、ウェブサービスで同メールを利用している場合は新しいものに変更する
  • 通知後、1か月間は古いメールアカウントを新しいメールアカウントに転送
  • 1か月経過したら古いメールアカウントの転送を停止、自動返信で利用停止した旨を伝えて、企業サイトの問い合わせフォームに誘導する

メールアカウントの変更許可が下りない場合

G-Suite を使う

Google が提供するGmail のビジネス版。スパムメールフィルタが強力。

Outlook を使って2秒でスパムメールを通報するショートカットを作る

「クイック操作」で、スパムメールを通報して削除するショートカットを使う
対象:Outlook 2013

設定方法

リボンにデフォルトで設定されている「クイック操作」右下「クイック操作の管理」
>新規作成>転送>名前に「迷惑メールを通報」、転送先に「meiwaku@dekyo.or.jp」を記載
「オプション」をクリック>「アクションの追加」で「メッセージを削除」を選択
ショートカット キーで「Ctrl+Shift+1」を選択(使いやすいものを選ぶ
「保存」をクリック>「OK」をクリック

動作の確認

  • メールを1つ選び、設定したショートカットキーを押す
  • 転送メールが作成され、画像が削除されるのを確認する

スパムメール通報のテンプレートを作る

スパムメールを通報するメールを作成し、Outlook テンプレート(*.oft)として保存。

作成方法

「新しい電子メール」をクリック>宛先に「meiwaku@dekyo.or.jp」を入力、件名に「迷惑メールを転送」、本文に「よろしくお願いします。」を記載する
>ファイル>名前を付けて保存>ファイルの種類で「Outlook テンプレート(*.oft)」を選択

テンプレートファイルが次のフォルダに入っているので、ファイルを選択してランチャーに追加する
C:\Users\{パソコンのアカウント名}\AppData\Roaming\Microsoft\Templates

使い方

ランチャーから「迷惑メールを転送」を開き、スパムメールをすべてドラッグして添付すして送信する

ランチャーとは:アプリを呼び出すソフトウェア。わたしはOrchis を使っている


追記:2019年11月11日(月)

スパム通報経過報告

スパムメール通報件数

最近、スパムメールの受信数が減ったので、送信したスパムメールの通報回数(件数ではない)を月ごとに集計してみた。上記のように減少傾向だ。

理由は不明だが、流出したメールアドレスリストの鮮度が低下したか、通報先の組織がしらみつぶしに対策したかと思われる。