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/