rubyからgmailにアクセスできるようにする

https://github.com/dcparker/ruby-gmail

最近のgmailはパスワード認証(not two authentication factor)はブロックしているようでセキュアなアカウントだと以下のように接続できないみたい。

[6] pry(main)> mail = Gmail.connect(config["gmail"]["name"], config["gmail"]["password"])
=> #<Gmail::Client0x7f9601c48fa8 (name@gmail.com) disconnected>
[8] pry(main)> mail.inbox
Net::IMAP::BadResponseError: Unknown command mw7mb360562189ieb
from /Users/koji/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/imap.rb:1198:in `get_tagged_response'
[10] pry(main)> mail.login!
Gmail::Client::AuthorizationError: Couldn't login to given Gmail account: n905i.1214@gmail.com (Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure))
from /Users/koji/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/imap.rb:1196:in `get_tagged_response'

以下issueも同様の問題で失敗していると思われる。
* https://github.com/dcparker/ruby-gmail/issues/83
* https://github.com/dcparker/ruby-gmail/issues/80

https://myaccount.google.com/security から下記を有効にすれば接続できるようになりました。

安全性の低いアプリの許可: 有効
一部の Google 以外のアプリや端末では安全性の低いログイン技術が使用されており、アカウントの脆弱性が高まる可能性があります。これらのアプリについてはアクセスを無効にすることをおすすめします。有効にする場合は、そのようなリスクをご理解の上でお使いください。

...脆弱なのやだなと思って2段階認証からアプリパスワードを発行すると瞬殺でした。

以上。