ちょっとしたテストや、メールサーバーがない環境でメール送信をしたい場合、Gmailの利用が非常に便利です。
備忘録を兼ね、RubyでGmailライブラリを使用したメールの送信方法を紹介します。

※ここで紹介する例は、GmailのSMTPサーバーを利用した標準mailライブラリでの送信方法ではなく、Gmailそのものを使用する例です。

上記が送信に必要なスクリプトの全てになりますが、これだけでは送信できません。
Ruby側で何もエラーが出ないので原因究明に手こずりましたが、解決方法はGoogleアカウントの設定にありました。

まず、Googleアカウント設定の『2段階認証プロセス』の項目を確認します。

◆2段階認証プロセスがオフの場合

『安全性の低いアプリのアクセス』をオンにするだけでメール送信が可能になります。

◆2段階認証プロセスがオンの場合

アプリパスワードを生成します。

生成されたアプリパスワードをGmail.connectのパスワードにすることで二段階認証を通過してメールの送信が可能になります。

ちなみに、二段階認証プロセスを有効にするには、携帯電話のメールアドレスが必要となります。
また、二段階認証プロセス有効後は、デバイスごとにパスワードの認証が求められ、都度、携帯電話に送られてくるパスワードを入力する必要があるため、運用・管理におけるアカウントの共有化が難しくなります。

Gmail使用のメリット
・自前のメールサーバーを必要としない
・文字化け対策が不要

デメリット
・セキュリティが不安
・Googleの監視下にある

セキュリティ面や運用性を考えると用途が限られてきますが、ちょっとしたテストなんかには十分使えるんじゃないでしょうか。

© grotta design Inc.