Rails2.2.2之发送邮件

1.config\environment.rb中添加smtp邮件配置,以163邮件服务器为例

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 '[email protected]'
	sent_on Time.now
	
	body :order => order
  end
end

3.查询或者mock一个order,调用OrderMailer.deliver_confirm(order)方法就可以发送邮件。

email = OrderMailer.deliver_confirm(@order)

相关推荐