メールの添付ファイルを整理し、zipを展開して要約へまとめるイメージ

Gmailの添付ファイル整理を自動化したら、案件の全体像まで見えるようになった

仕事のメールでは、資料が次々に添付され、パスワード付きzipの解凍パスワードが別メールで届くことがあります。さらに、やり取りが複数のスレッドに分かれると、経緯を追うだけでも一苦労です。

私はファイル整理が得意ではないこともあり、次の作業をまとめて自動化しました。

  • Gmailから添付ファイルを保存する
  • 別メールのパスワードを探してzipを展開する
  • 案件のメールを時系列で一つの文書にまとめる
  • ローカルAIで現在の状況を要約する

Gmailのラベルを付けるだけ

処理の入口はGmailのラベルです。対象メールを見つけると、添付ファイルと本文を、受信日時や件名が分かるフォルダへ保存します。

zipのパスワードがまだ届いていない場合は、次回の自動実行で再確認します。人が受信箱を何度も確認する必要はありません。日本語ファイル名の文字化けや、危険なパスを含むzipにも対応しました。

分かれたメールを一つにまとめる

案件のメールは、スレッドが分かれていても一つのMarkdownへ時系列で集約します。日時、件名、送受信者、本文をまとめて読めるため、過去のやり取りを探し回らずに済みます。

新着メールだけを追記するので、定期実行しても同じ内容は重複しません。原文が一つにまとまるだけでも、案件の経緯を追いやすくなりました。

要約を読めば、今の状況が分かる

長くなった原文は、ローカルで動かすOllamaを使い、次の項目に要約します。

  • 案件概要と現在の状況
  • 決定事項と未決事項
  • 担当者、期限、次の対応
  • 重要な経緯

これまでは複数のメールや添付ファイルを行き来しないと全体像がつかめませんでした。今は要約ファイルを読むだけで、何が決まり、何が残っているのかをすぐ確認できます。

原文と要約は分けて保存しているため、必要なときは元のメールに戻って事実を確認できます。また、Ollamaは同じLinux内で動かし、メール本文を外部の生成AIサービスへ送りません。

15分ごとに自動実行

処理はcronで15分ごとに実行します。普段の操作はGmailへラベルを付けるだけです。添付ファイルの保存、zip展開、メール集約、要約更新まで自動で進みます。

主にPython、Gmail API、pyzipper、Ollama、cronを使いました。設定時にはdry-runで対象メールと保存先を確認できるようにしています。

まとめ

この仕組みで、苦手だった添付ファイルの整理、面倒なパスワード付きzipの処理、分断されたメールの確認がほぼ不要になりました。

特に役立っているのは要約です。案件の全体像と現在地がすぐ分かり、メールを追う時間ではなく、次の対応に時間を使えるようになりました。