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
我的 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