Gmailのプラス記号付きエイリアスを抽出したいのだ
「ユーザ名の後ろにプラス記号を付けると、以降@までの文字列は無視される」。GmailおよびGoogle Workspace版Gmailに搭載されているエイリアス(別名)作成機能です。
例えば、"user@gmail.com"(※1)というアカウントを持っている場合、"user+rakuten@gmail.com"や"user+paypal@gmail.com"のようなエイリアスが作れ、これらのメールアドレスへの送信はすべて"user@gmail.com"に届けられます。
上記のようにサービス/サイト名でエイリアスを作っておくと、仕分けに便利だったり、情報流出時にどこから漏れたのがひとめ分かったりする便利な機能です。
しかも、Gmailのメールクライアントやサーバで何かを設定する必要はなく、各種サービス/サイトの登録時に、プラス記号を付きのメールアドレスを記入するだけ。以降は放っておいても"user@gmail.com"にメールが届きます。
そんな雰囲気の、手軽で便利なGmailのエイリアスですが、個人的には魅力が薄く、いくつかのサイトで試した程度。最近ではまったく使っておりません。
で、そのお試しでエイリアスを登録したサイトのメールアドレスをオリジナルに戻そうと思ったのが先日のこと。エイリアスを試したのはずいぶんと昔なので、どのサイトでエイリアスを使ったのか思い出せません。
「Gmailなら強力な検索機能があるし、一発でしょ」などと思っていたのですが、さにあらず。やり方が悪いのかどうやってもプラス記号付きのエイリアスを見つけることができません。
"user+paypal@gmail.com"のように、覚えている範囲で完全なメールアドレスで検索するとそれに関してはヒットするのですが、プラス記号以降にワイルドカードを使ったりすると検索できず。
とりあえず、ダメっぽいことは分かったので、別の手段でエイリアスを探すことにします。まずは、"Google データ エクスポート"を使ってGmailのメッセージをまるっとダウンロード。
ファイルはひとかたまりで、形式はMBOXとなっております。ここからエイリアスのみを抽出する、というのが今回のミッション。環境にはWindows PCを使用します。
テキストデータの処理ならUNIX系のツール(sedやgrepなど)を使うのが良さそう。ちょうどテキスト作成に使っているフリーソフト"サクラエディタ"にgrepが装備されているので、これを使ってみることにしました。
その"サクラエディタ"でGmailのバックアップデータである"すべてのメール(迷惑メール、ゴミ箱のメールを含む).mbox"を開きます。日本語部分は文字化けして判読不可な状態ですが、1バイトコードに関してはちゃんと読み込めるので、今回は問題ナシ。
"サクラエディタ"の"検索(S)"から"Grep(G)..."を選択すると、grep設定用のダイアログが開くので、"条件(N)"のテキストフィールドには以下の正規表現で記述した検索文字列を入力。実行時には"user"の部分をご自身のアカウントと置き換えてください。
user\+[a-zA-Z0-9_.+-]+@gmail\.com
続いて、"現在編集中のファイルから検索(Q)"および、"正規表現(E)"にチェックを入れ、結果出力は"該当部分(P)"を選択します。
この状態で"検索(F)"ボタンをクリックすると、結果が別ウィンドウで出力されます。こんな感じ。以降の作業はこちらの出力ウィンドウにて行います。
この時点では、まだ余分なデータ(ファイルのパス)が付いているので、これを削除します。
メニューの"検索(S)"から"置換(R)..."を選択し、開いたダイアログにて"置換前(N)"のテキストフィールドに以下の正規表現で記述した検索文字列を入力します。
^D:[a-zA-Z0-9_.+-:\\]*.*:
右端の":"の隣にスペースが1個付いている点にご注意を。"置換後(P)"には何も入力せず、空欄のままで。あとは"正規表現(E)"にチェックを入れ、"すべて置換(A)"ボタンで処理を実行します。するとこんな感じに。
置換が終了したら、ファイルの先頭と末尾にある"サクラエディタ"によるメッセージを手動で削除します。
あとは、全選択→ソート→マージの流れで完成。具体的には、
"編集(E)"から"すべて選択(A)"で全選択し、
"編集(E)"の"整形(K)"から"選択行の昇順ソート(A)"で並べ替えを実行。
さらに"編集(E)"の"整形(K)"から"連続した重複行の削除(uniq)(U)"を実行すれば完成です。その際のウィンドウはこんな感じ。
これで、すべてのエイリアスが抽出されました。あとは、対象となるサイト/サービスにてログインIDなりメールアドレスなりを変更すればOK。
今回の方法で見つかるのは、あくまでメールのやり取りがあり、そのメールが残っていたエイリアスだけ。メールの痕跡がなかったエイリアスにはまったくの無力です。
が、メールのやり取りがなかった/メールが残っていない、と言うことは、すなわち「それは重要ではないエイリアスだった」となる...ということで納得してくだされ。
なお、バックアップデータの取得方法は異なりますが、Google Workspace版Gmailでも同じようにエイリアスを抽出することができます。その場合には、ユーザ名およびドメイン名をご自身のモノと置き換えて読んでいただけますれば。
※1メールアドレスは架空のモノです。が、実在する可能性も否定できないので、アットマークを2バイトコードで記述しています(画像を除く)。
コメント