OpenSSLを使用すると、受信トレイにアクセスして、grepを介して結果を簡単に解析できます。Linuxボックスが利用可能であると仮定すると、次の簡単な手順に従います。
SSL経由でGMailに接続します(ファイルへの出力はティー):
openssl s_client -crlf -connect imap.gmail.com:993 | tee /tmp/mail-headers.txt
接続したら、ユーザー名とアプリケーション固有のパスワードでログインする必要があります。
tag login user@gmail.com password
tag login user@gmail.com apppassword
アプリケーションのパスワードは、GMailの設定メニューで生成できます。
優先する受信トレイ(フォルダー)を使用して、次のコマンドを入力し、フォルダー内のメッセージ数を確認します。
tag STATUS INBOX (MESSAGES)
出力例:
* STATUS "INBOX" (MESSAGES 3214)
tag OK Success
これにより、INBOXフォルダーに3214のメッセージがあることがわかります。これで、すべてのメッセージ(ヘッダーを含む)を書き出し、必要に応じて保存できます。次のコマンドを発行して、すべてのメッセージを出力します。
tag SELECT INBOX
tag FETCH 1:3214 (BODY[HEADER])
番号は、メッセージ1から3214までを印刷したいことを指定するためのものです。
ログアウトを続行します。
tag logout
次に、次のように適切と思われる出力をgrepできます。
grep '123.123.123.123' /tmp/mail-headers.txt
関連するSubject:
ヘッダーを見つけるために、行の前後のコンテキストを確認し、ページをめくることもできます。
grep --color=always -C 10 '123.123.123.123' /tmp/mail-headers.txt | less -R