memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Gmailをローカルにバックアップして一覧性をよくする

moodleを導入するまでは学生さんからの課題をメール(Gmail)で受け取っていました。

Gmailで一つ一つ添付ファイルを開くのは結構な手間でした。採点を終えたメールは不要になりますが一応は保存しておきたい。できればGmailからエクスポートしてファイルとして年度毎に保存しておきたい。。。なんてことを考えていました。

以上のことを実現する1つの方法をご紹介します。

0)前提として以下の方法はWindowsのみで使えます。利用するソフトがWindowsのみの対応だからです。また整理したいメールはGmailでラベル付けされていることとします。ラベル付けは必須ではありませんが、ラベル付けしていないと全メールが変換対象になってしまいます。そういう利用はないと思いますので前提としました。ちなみに全メールを対象としてもよいということであれば下記の2)〜3)は不要です。

1)Gmail BackupをインストールしてGmailの全メールをローカルに保存する。

Link: Gmail Backup

2)保存したフォルダ内に以下のRubyスクリプトを入れます。

#! ruby -Ks

require 'kconv'
require 'fileutils'

open('labels.txt').each do |e|
	e2 = Kconv.tosjis(e)
	if e2 =~ /課題/ then  #課題にはラベル名を入れてください。正規表現ですので完全なラベル名でなくても部分的に一致する名前でも構いません。
		e3 = e2.split[0]
		begin
			FileUtils.mv e3, "1/" + e3 #移動するサブフォルダ名を入れて下さい。ここではGmailBackupがダウンロードしたemlファイル群が格納されているフォルダの下に1というフォルダに該当するファイル群を移動する例となっています。
		rescue => exc
			p exc
		end
	end
end

3)上記スクリプトを実行すると該当するラベル名をもつメールファイル(.eml)が指定したサブフォルダに移動されます。

4).emlファイルはメールクライアントソフト(Thunderbirdなど)で閲覧することができますが、ファイルを一つ一つ開くのは面倒です。そこで、emlファイルをhtmlファイルに変換してくれる偉いソフトを利用させていただきます。以下のソフトをインストールし、上記の3)のサブフォルダを指定してhtmlに変換すると。。。添付ファイルもうまくローカルでリンクしたメール一覧を見ることができるようになります。

Link: Mail Export Tool

このツール、ちょっとユーザインタフェースが変わっているので操作方法がわかるまではとっつきにくいです。でも機能はバッチリです。操作の概略を書きますと、emlファイルが入った変換元のフォルダを指定します。左ペインにフォルダをドラッグ&ドロップする方法でも指定できます。タイプとしてemlを選択します。そして虫メガネボタンを押してフォルダ内の該当ファイルを検索させます。その後、エクスポートボタンを押し、変換後のファイルを出力するフォルダを指定すれば、そこにindex.htmlを起点とするhtmlファイル群が生成されます。

手順はちょっと面倒ですが、これでローカルファイルに保存したらGmailからこれらのメールを削除できます。Gmailを整理する必要はあまりないのかもしれませんが、整理好きな方にはお勧めします。