こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
【ポイント】
- 受信メールの確認が手間、メール確認作業を自動化したい
- Pythonで簡易にメール解析できるようになりたい
【概要】
本記事では「Gmailをベースに受信メール解析ツールの開発手順およびプログラミング方法」を詳しく紹介します。Gmailのみならず他プロバイダ(YahooやOutlook)を用いたツール作成にも役立てることができる内容となっております。
【Python】受信メール解析ツールとは?
受信メール解析ツールとは、「人手を介さずに受信したメールをチェックし、メールの内容に応じて必要なアクションを自動で行ってくれるツール」です。主な用途としては下記があります。
業務効率化やマーケティング用途でのメール解析

メール解析の自動化に伴う一番の目的は「作業効率化」と「マーケティングの高度化」です。
例えばマーケティング用途で、商品のメール問い合わせから要望やクレームを集計したいと考えたとします。この時、メールを1つずつ手作業で確認していくとメール数によっては非常に手間がかかってしまいます。メール解析を利用すると、例えばメール件名や本文を一度にデータ抽出し、キーワードや問い合わせカテゴリ毎に一括集計することができるようになります。
スパム・迷惑メール対策でのメール解析

メールの本文解析を駆使することで、例えば「大セールス」「期間限定お得!」などの特定キーワードを含むメールを一括スパムメール扱いにすることもできるようになります。このようにメール解析はセキュリティ強化目的においても非常に有効な手段と言えます。
「メール業務の自動化の意義」「メール自動化でできること」を詳しく知りたい方は、まずこちらの記事をご覧になられることを推奨します。
【RPA】メール確認・メルマガ配信業務の自動化・マーケティングオートメーションの実現方法を徹底解説
面倒なメール作業をRPAで自動化したいが方法が分からない。そもそもメール作業の何が自動化できるか分からない。本記事では、このような疑問に答えます。また、メールマーケティング・マーケティングオートメーション(MA)の実現方法も詳しくご紹介しています。
メール解析の対象要素(ヘッダー・ボディ)について
メールのヘッダーとは、受信したメールがいつ・どこから・どのような経路で送信されたのか記録したものです。メールのボディとは、メールの本文を指します。メール解析では、これらヘッダー・ボディ情報を解析していくことになります。主に取り扱う情報を整理すると下記のようになります。
メールヘッダー:代表的な取り扱い情報
- 電子メールの識別番号(Message-ID)
- メール作成時刻(Created At)
- 送信元(From)のメールアドレス
- 送信先(To)のメールアドレス
- 件名(Subject)
- メール配信経路(Received)
- メール配信エラー時の戻り先(Return-Path)
メールボディ:代表的な取り扱い情報
- メール本文
Gmailを用いた受信メール解析ツールの作成手順

上図にメール解析ツール構築の全体プロセスを示します。
まず、IMAPサーバーにログインし、解析したいメールを検索します。続いて、メール情報に応じて必要アクションを付与するといった流れです。今回紹介するプログラミング手法は、メール解析の中核となる①〜③を中心に解説しています。
【参考】メール送受信に伴う通信規定
下記通信規定の用語は頻繁に用います。事前に確認しておきましょう。
IMAP
IMAP(Internet Message Access Protocol)とは、メール受信のためのプロトコルです。IMAPの場合、メールはサーバ上での保管が特徴であるため、メールのステータス(既読・未読・削除)等も全てサーバで管理されます。
SSL/TLS
SSL(Secure Sockets Layer)およびTLS(Transport Layer Security)は、インターネット上のデータを暗号化し、送受信するためのプロトコルです。個人情報やクレジットカード、パスワードなどのデータを暗号化し、データの改ざんや盗聴を防止します。
【Python】メール解析に必要なライブラリ・インストール方法
本記事では、下記ライブラリを使用します。事前にインストールしておきましょう。
IMAPClient(IMAPサーバー接続に利用)
pip3 install imapclient
pyOpenSSL(SSL暗号化に利用)
pip3 install pyOpenSSL
pyzmail36(メール解析に利用)
pip3 install pyzmail36
Gmailのアプリパスワードを事前に取得する

Gmailのアプリパスワードを作成していない場合、事前作成が必要です。下記の手順に従い、アプリパスワードを生成しましょう。(※普段Gmailにログインするパスワードとアプリパスワードは別のものです。)
- Googleアカウントを開く(上図参照)
- セキュリティを開く
- 2段階認証プロセスをONにする
- アプリパスワードを生成する
この先は有料会員のみ閲覧できるコンテンツです

既に有料会員の方はこちら:
会員について詳しく知る: