Becky!×ruby

会社であるイベントを行い、そのアンケートを回収することになった。
こちらからExcelで作ったアンケートファイルを送り、それに記入して返信してもらう。面倒な集計作業自体は昨日日記に書いたようにExcelファイルをプログラムで処理するとして、その前にも煩雑な作業がある。それはメールに添付されたファイルを一箇所に保存しないといけないということ。しかもファイル名は「アンケート.xls」なので全部この名前。同じフォルダに保存しようとすると毎回名前を変えないといけない。60人分も!面倒だねぇ。
というわけでまたプログラムで処理できないかなーと考えてたら、Becky!(会社のメールクライアント)上でrubyスクリプトを実行できるbeckrbなるものを発見!
http://www.shinonon.dyndns.org/diary/20031221.html
こちらのサイトを参考に環境を整えて、APIリファレンスを見ながら簡単なサンプルを作ってみた。

Becky.each_mail do |mail|
  puts mail.headers.scan(/^Subject:(.*)/) if mail.has_attachment?
end

これで、添付ファイルのあるメールのタイトルを出力することが出来る。
しかしタイトルくらい「mail.subject」で取得したいんだけど出来ないので正規表現を使わないといけない。ちょっと使いにくい。あと添付ファイルにいたっては添付されているかどうかを調べるまでが限界で、添付ファイルデータオブジェクトみたいなのは存在しない。・・・というわけでコレでは無理だと断念。残念。
とはいえ色々出来そうなことはわかったので、覚えておくと便利なことがあるかもね。

結局

Becky!のプラグインでやりたいことができました。↓↓
Becky!添付ファイルまとめて保存 プラグイン