action mailer的简单实用方法
看过几个博客,描述不太清楚,多次试验终于可以用了,我的actionmailer版本是4.1.0
class UserMailer < ActionMailer::Base
def send_mail(email)
attachments['a.jpg'] = File.read(Rails.root.join('public','uploadfile','a.jpg'))
mail(
:subject => '测试',#主题
:to => email,#接收人
:from => '******@163.com',#发送邮箱
:date => Time.now#发送时间
)
# encoded_content = File.read(Rails.root.join('public','uploadfile','a.jpg'))
# attachments['a.jpg'] = {mime_type:'application/x-gzip',
# encoding:'SpecialEncoding',
# content:encoded_content}
end
end
在config/environments中需做如下配置
ActionMailer::Base.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
#config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.default_url_options = { :host => '172.**.**.**:3000'}
ActionMailer::Base.smtp_settings = {
:address => "smtp.163.com",
:port => 25,
:domain => "163.com",
:authentication => :login,
:user_name => "******@163.com",
:password => "****123"
}
如此之后,可在其他控制方法中调用邮件发送方法
UserMailer.send_mail(@full_text_record.email).deliver