スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

mailを使ってrubyでメール送信

以前action_mailerを使ってrubyでメール送信というのを書きました。
action_mailerをしばらく使っていたのですが、バージョンアップの時に不安定になったりしたので代わりにmailを使った同じものを作りました。
# coding: utf-8
require 'mail'

class MyMail
DEFAULT_HOST = 'localhost'
DEFAULT_PORT = 25
DEFAULT_FROM = ''
DEFAULT_SUBJECT = ''
DEFAULT_BODY = ''
DEFAULT_TO = ''

def initialize(params={})
@host = params[:host] ? params[:host] : MyMail::DEFAULT_HOST
@port = params[:port] ? params[:port] : MyMail::DEFAULT_PORT
@from = params[:from] ? params[:from] : MyMail::DEFAULT_FROM
@subject = params[:subject] ? params[:subject] : MyMail::DEFAULT_SUBJECT
@body = params[:body] ? params[:body] : MyMail::DEFAULT_BODY
@to = params[:to] ? params[:to] : MyMail::DEFAULT_TO

::Mail.defaults do
delivery_method :smtp, {
:enable_starttls_auto => false,
:address => @host,
:port => @port,
}
end
end

def send_mail(params={})
from = params[:from] ? params[:from] : @from
to = params[:to] ? params[:to] : @to
body = params[:body] ? params[:body] : @body
subject = params[:subject] ? params[:subject] : @subject

mail = ::Mail.new do
from from
to to
subject subject
body body
end

mail.delivery_method :sendmail
mail.deliver
end
end
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。