質問: Rubyで Gmail の メールを受信して本文にあるテキストを読み取りたいです。 こんなことは可能でしょうか。 1. Ruby のメールライブラリ "Mail" を使用して Gmail の "cat"ラベルのついた一番新しいメールを読み取る 2. Ruby の Gmail 読み取りライブラリ "ruby-gmail" を 使用して "cat" ラベルの付いた一番新しいメールを読み取る ・Gmail の IMAP 有効化済み ・Google アカウントの「安全性の低いアプリの許可」を「有効」に変更済み という状況だと考えてください。
回答: ruby-gmail gem をベースに開発されている gmail gem を使います。 以下のコードを実行すると "cat"ラベルが付いた最新メールの件名と本文が出力されます。 ``` require 'gmail' username = 'PUT YOUR USERNAME' # Gmailのユーザ名 password = 'PUT YOUR PASSWORD' # Gmailのパスワード label_name = 'cat' # 対象のラベル名 Gmail.connect(username, password) do |gmail| email = gmail.label(label_name).emails.first puts 'subject: ' + email.subject puts 'body: ' + email.body.decoded.encode('UTF-8', email.charset) end ```