4月 292016
 

プログラムができる人は誰でもやっていると思うけど、自分のメールアドレス(Gmail)を使い、定刻にメールを送ることで、時間にルーズで約束もよく忘れる俺でもマメな男を演出できる

自分の誕生日に設定しておけば、誕生日に誰からもメールがこないなんて寂しい夜はなくなる!

Google アカウントを 2 段階認証にして、セキュリティも上げて一石三鳥!ヤッタネ!

環境

  • ruby 2.3.0p0
  • CentOS Linux release 7.2.1511
  • Google アカウント(2 段階認証にする)

Google アカウント側の設定

2 段階認証を設定していない時は設定しましょう

2 段階認証プロセスを有効にする(SMS での認証)

  • アカウント設定画面 に遷移する

  • 「パスワードとログイン方法」セクションにある、[2 段階認証プロセス] をクリックする

  • [開始]をクリックする

  • パスワードを聞かれたら入力して [ログイン] をクリック

  • 使用する電話番号とコードの取得方法を確認後、[試す] をクリック

  • SMS が届くので、記載されたコードを入力後 [次へ] をクリック

  • 確認を促されるので [オンにする] をクリックする

PIN コードでの認証を追加する

スマホに Authy を入れていて、それで多要素認証を管理しているので、Google アカウントも同様に設定することにする(やらなくてもいい)

前項の続きから始める

  • 2 段階認証プロセス画面から、[2 つ目の手順を追加で設定] をクリックする

  • 認証システムアプリの [設定] をクリックする

  • 選択して [次へ] をクリック

  • QR コードが表示されるので、認証システムアプリに登録する

  • 認証システムアプリに表示されるコードを入力して [確認] をクリックする

  • [完了] をクリック

  • 認証システムアプリがデフォルトになったことが確認できる

アプリケーションパスワードの取得

今回作るアプリケーション用のパスワードを取得する

  • アカウント設定画面 に遷移する

  • 「パスワードとログイン方法」セクションにある、[アプリパスワード] をクリックする

  • [端末を設定] をクリックする

  • [その他(名前を入力)] を選択する

  • 名前を入力して [生成] をクリックする

    ※再度パスワードを求められたらログインして続ける

  • 16 桁のパスワードが表示されるので控えておく

プログラム

ここでハマったのは、パスワードに利用するのが前項で取得した「アプリケーションパスワード」を利用するというところ

4 行目~ 7 行目, 9 行目あたりを適宜読み替える

テストと実行

Gemfile を作る

ライブラリインストール

コマンドラインで実行

コマンドラインから実行して動作確認をする

cron に設定する

あとはcrontab -eと叩いて cron の設定を行う

俺だと rbenv で Ruby 入れてるのでこんな感じ(ホームディレクトリ以下はてきとー)

考察

  • 本文をテキストで作っておいて、起動時に適宜読みこむようにすれば数年分はいける
  • 本文をある程度自動生成すれば半永久的にいけるかもしれない
  • ruby-gmail って gem があったみたい!気づかなかった!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">