Rails4:无法从 lib/module 发送电子邮件

Rails4: Cannot send email from lib/module

我的 rails4 应用程序中发生了一件奇怪的事情:

我在 lib 文件夹中创建了 event.rb

在那里,我打电话给邮递员:

def whatever
  puts 'here'
  UserMailer.welcome(user)
  puts 'there'
end

正在调用

class UserMailer < ActionMailer::Base
  def welcome(user)
    @user = user
    mail(to: @user.mailer, subject: 'Welcome to my app').deliver
  end
end

奇怪的是,方法 welcome 从未被调用,而 whatever 被调用,没有引发任何错误(日志在那里)。

但是如果我在控制台中调用 UserMailer.welcome(User.first),它就会被发送。

我做错了什么?是否无法从模块发送电子邮件?我应该将这段代码移到模型中吗?那会很奇怪。

提前致谢

IMO 邮件程序应如下所示:

class UserMailer < ActionMailer::Base
  def welcome(user)
    @user = user
    mail(to: @user.mailer, subject: 'Welcome to my app') #.deliver removed
  end
end

并且应该以这种方式调用:

def whatever
  puts 'here'
  UserMailer.welcome(user).deliver_now # and added here
  puts 'there'
end