続いてGmailにアクセスしてみる
Gmailはスマートフォンに通知が来るし、ウェブブラウザで開いても使えるのだが、curlであれば未読メールを調べるのも容易にできる。なお、curlでGmailにアクセスするなら、事前に「アプリパスワード」を作って置くと、Googleアカウントのパスワードを使わずに済み、コマンドが外部に万が一漏れたとしても、簡単に無効にできる。コマンドとしては、
curl.exe -u ユーザー名@gmail.com:パスワード "imaps://imap.gmail.com:993" -X "STATUS INBOX (UNSEEN)"
※ ユーザー名、パスワードには各自のものを入れる。以下同様
とすると、未読のメール数を表示できる。コマンド出力の「(UNSEEN 」の後ろに表示されるのが未読のメール数だ。メールを読むには、それぞれのUIDを表示させ、UIDを指定してメールを取得する。UIDの取得は、
curl.exe -u ユーザー名@gmail.com:パスワード "imaps://imap.gmail.com:993/INBOX" -X "SEARCH UNSEEN"
とすればよい。IMAPに関しては、ここで説明しないが、これでINBOX内の未読メールを示すUIDがスペースで区切って表示される。Powershellなら、-splitでこれを分割できる。
(curl.exe -s -u ユーザー名@gmail.com:パスワード imaps://imap.gmail.com:993/INBOX -X "SEARCH UNSEEN") -split ' ' | Select-Object -Skip 2
ASCII.jpからのメールを検索するなら、
curl.exe -s -u ユーザー名@gmail.com:パスワード imaps://imap.gmail.com:993/INBOX -X "SEARCH FROM "ASCII.jp""
とする。
差出人をASCII.jpで検索して、得られたUID(17695)を使ってメールを表示させてみた。なお、ASCII.jpからのメールは、Base64でエンコードされていたのでnkfには-mBオプションが必要だった。このあたりはメールの形式に依存する
このメールを見たい場合、ASCII.jpからの場合、Base64でエンコードされているので、
curl.exe -s -u ユーザー名@gmail.com:パスワード "imaps://imap.gmail.com:993/INBOX;UID=17695/;section=Text" | nkf -mB -s
※番号には、前のコマンドで取得したUIDを入れる
とする。ただし、ここでは、nkfコマンドでBase64エンコード(-mB)を行い、出力をシフトJIS(-s)に変換している。
curlでファイルをダウンロード
crulは、Webページを取得するのにも利用できるが、あらかじめURLがわかっているファイルならhtml以外もダウンロードが可能だ。たとえば、PowerToysの最新版は以下のコマンドでダウンロード可能だ。-sオプションを付けないと、途中経過を表示してくれる。
curl.exe -OL https://github.com/microsoft/PowerToys/releases/download/v0.19.2/PowerToysSetup-0.19.2-x64.msi
URLがわかっていないと使えないが、逆に固定してURLであれば、簡単にダウンロードできる。
cURLは、インターネットプロトコルに慣れていれば、簡単にさまざまなプロトコルを発行でき、ちょっとした用途に利用できる。ここでは説明しなかったが、WebHookのトリガーとすることも可能で、たとえばIFTTTのトリガーとしても利用できる。コマンドラインから起動できるため、スクリプトに組み込むこともできる。ちょっと使って、コマンドに慣れておくと、いずれ役立つはずだ。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第541回
PC
AIを組み込んだWindowsターミナル「Intelligent Terminal」をインストールして試してみる -
第540回
PC
Windows 11に付属の新しいOutlookでアカウント設定をする -
第539回
PC
Microsoft製の新しいWindows用日本語入力「Copilot Keyboard」を使う -
第538回
PC
PowerShellをシェルとして使うためのポイント【情報表示のやり方】 -
第537回
PC
PowerShellをシェルとして使うためのポイントを解説 -
第536回
PC
Microsoft製のコンソールエディタMS-Editが2.0になり、文法ハイライト機能が搭載 -
第535回
PC
WSLコンテナーのプレビューを試す 今年はWSLに動きがありそうだ -
第534回
PC
Windows 11におけるアプリインストーラーとwinget -
第533回
PC
PCの世界ではすっかり存在感が薄くなった光学メディアをあらためて整理 -
第532回
PC
モニターの情報が含まれる「VESA EDID」をWindowsで調べる方法 -
第531回
PC
Windowsのコンソール上でUnix/Linuxの標準的なコマンドを動かす「Windows CoreUtils」 - この連載の一覧へ














