GmailのSMTPサーバーを使う
Ruby1.8系のnet/smtpではTLSが使えないが、1.9系では使えるらしい。
しかし1.9系のsmtpに置き換えるようなパッケージがgemに存在することを知った。
gem install tlsmail
これをrequireすると有効になる。
ActionMailerの練習もかねて作ってみた
require "rubygems" require "tlsmail" require "action_mailer" class Gmail < ActionMailer::Base def message(s = "", b = "", f = nil) fail StandardError, "no message" if s.empty? and b.empty? recipients "to" from "from" subject s body b attachment(:content_type => "application/octet-stream", :body => File.read(f), :filename => File.basename(f)) if f and FileTest.file?(f) end end Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => "587", :domain => "localhost", :user_name => "user", :password => "password", :authentication => :plain } Gmail.deliver_message("test", "test", "test.rb")
Gmailのサーバーが使えると、色々便利ですね。