続いて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からの場合、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のトリガーとしても利用できる。コマンドラインから起動できるため、スクリプトに組み込むこともできる。ちょっと使って、コマンドに慣れておくと、いずれ役立つはずだ。
この連載の記事
-
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 - この連載の一覧へ