1. config\environment.rb中添加smtp邮件配置,以163邮件服务器为例
2.新建一个OrderMailer类,他是ActionMailer::Base的子类,添加action方法(confirm(order)),我们这个例子是要发送一个order对象相关信息的邮件。
3. 查询或者mock一个order,调用OrderMailer.deliver_confirm(order)方法就可以发送邮件。
Rails::Initializer.run do |config|
。。。
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.163.com", #smtp邮件服务器
:port =>25,#端口
:domain => "www.163.com", #域
:authentication => :login, #验证方式,这里是密码验证
:user_name => "**", #用户名
:password => "**" #密码
}
end
2.新建一个OrderMailer类,他是ActionMailer::Base的子类,添加action方法(confirm(order)),我们这个例子是要发送一个order对象相关信息的邮件。
class OrderMailer < ActionMailer::Base
def confirm(order)
subject 'Pragmatic Store Order Confirmation'
recipients order.email
from 'caiwenhn2008@163.com'
sent_on Time.now
body :order => order
end
end
3. 查询或者mock一个order,调用OrderMailer.deliver_confirm(order)方法就可以发送邮件。
email = OrderMailer.deliver_confirm(@order)