ruby + mailを使って、gmailに送受信してみた
送信
# -*- coding: utf-8 -*-
require 'mail'
Mail.defaults do
delivery_method :smtp, {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'example.com',
:user_name => '<自分のgmailアカウント>',
:password => '<自分のgmailアカウントのパスワード>',
:authentication => 'plain',
:enable_starttls_auto => true
}
end
m = Mail.new do
from "<送信元メールアドレス>"
to "<送信先メールアドレス>"
subject "test mail subject"
body "テストメールです"
end
# 本文のエンコーディング設定。これを書かないと実行時にワーニングが出る
m.charset = "UTF-8"
m.content_transfer_encoding = "8bit"
m.deliver
受信
require 'mail'
Mail.defaults do
retriever_method :pop3, {
:address => "pop.gmail.com",
:port => 995,
:user_name => '<自分のgmailアカウント>',
:password => '<自分のgmailアカウントのパスワード>',
:enable_ssl => true
}
end
Mail.all.each do |mail|
puts mail.subject
puts mail.body
end
- 結果
test mail subject
テストメールです
注意点
- パスワードは2段階認証プロセスのアプリパスワードを設定しないと、ログインできない場合がある(通常のパスワードでもログインできる場合もあるが、突如できなくなる場合もある)