現状rubyでgmailを使おうと考えていると
ここになる。
とはいえ以前の記事にも書いたが、上記を使用しようとする場合
・2段階認証をOFFにして安全性の低いアプリのアクセスを許可するか
・2段階認証をONにするかわりにアプリパスワードというものを発行するかになる
http://qiita.com/hata-yusaku/items/8d701c934b143e490599
セキュリティどうなのって話が出たりして、微妙な感じ。
googleはapi提供してくれているのでそれを使いたい
とりあえず作ってみた
インストールは
gem 'send_gmail'
認証について
googleのapi周りはユーザー認証, OAuth周りで挫折することがあるので、
できるだけ手軽にできる用にgemに内包しました
$ client = SendGmail::Client.new
$ client.authorize(credentials_path, client_id, client_secret, scope)
- credentials_path
- 認証情報を保存しておくパス(json)。
- ない場合はブラウザが起動して認証後に情報を保存してファイルがあるときはそれを利用して認証する
- client_id, client_secret
- scope
メール取得
$ mail_list = client.mail_list(searching_option)
=> {
:mail_id_list => [#<SendGmail::Objects::Mail... , ...],
:next_page_token => "123456789"
}
- searching_option
- これはgmailでいう検索。文字列で指定する。詳細に関しては下記を参考にして指定するとよさそう
- https://support.google.com/mail/answer/7190
メール送信
$ client.send_mail(to, subject, msg, from = nil, bcc = nil, cc = nil, user_id = 'me')
=> 200
ここらへんのパラメータはパラメータ名を参考にしてもらえると良いかもしれません。
正しいく送信できればstatus code 200がかえってきます
最後に
まだまだ未完成なものなのでissueなりPRなどがんがん飛ばしてください!