rails 2.3 中的发送邮件功能

Sending mail function in rails 2.3

我目前使用的版本是: Ruby = 1.8.7, rails = 2.3.2

我写了发邮件功能。当我 运行 时,出现以下错误"

undefined method `default' for UserMailer:Class

我的UserMailerclass:-

default :from => "example@gmail.com"

  def welcome_email(user)
    @user = params[:user]
    @url  = 'http://example.com/login'
    mail(:to => "test123@gmail.com", :subject => "Test")
  end
end

如何解决这个问题?
谢谢。

undefined method `default' for UserMailer:Class

ActionMailer 的方法 default 以及 mail 未在 [=26= 中引入 ] 2.3,所以你不能使用它们。 Rails 2.3 代码的语法如下所示

def welcome_email(user)
  @user = params[:user]
  @url  = 'http://example.com/login'
  recipients    "test123@gmail.com"
  from          "example@gmail.com"
  subject       "Test"
  sent_on       Time.now
  body          {:user => @user, :url => @url}
end

Rails 2.3: Action Mailer Basics

您可以在不添加默认值的情况下尝试类似的操作

class WelcomeMailer < ActionMailer::Base
  def welcome_email(user)
    @user=user

     mail to: 'test123@gmail.com', subject: "test" ", from: 'example@gmail.com'
  end
end