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)