SMTP over SSL を使う
SMTP Over SSL は一般的に ポート465 で提供される
if ARGV.size != 3
puts "usage : \n "
puts " $ "+ __FILE__ + " takuya@exmaple.com 'test mail' ' hello ' "
puts " \n\n "
exit
end
require 'mail'
options = { :address => "smtp.example.com",
:port => 465,
:user_name => 'hoge@example.com',
:password => '****',
:authentication => 'plain',
:ssl => true,
}
Mail.defaults do
delivery_method :smtp, options
end
mail = Mail.new do
from 'hoge@example.com'
to ARGV.shift
subject ARGV.shift
body ARGV.shift
end
mail.deliver!
TLS で STARTTLS を使う
こっちがTLSで通信している部分
options = { :address => "smtp.example.com",
:port => 995,
:user_name => 'hoge@example.com',
:password => '****',
:authentication => 'plain',
:enable_starttls_auto => true
}
over SSL と START TLSの違いは。。。
一言で言えばレイヤーの違いかな。もう少し言えば、ポート利用の違い。
さらにいえば、暗号化通信の開始点がぜんぜん違う START TLS は とりあえず、SMTPで接続しておいてSTART TLSコマンドで暗号化トンネル(TLS)を作る感じ。
SSLは、通信開始段階からすでに暗号化(SSL)の中にいる。通常接続とは併存できないので別途Listenポートを確保する。
参考資料
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/tls-arc/