Rails:从gem发送电子邮件

时间:2014-11-30 11:27:05

标签: ruby-on-rails ruby email actionmailer

我正在创建一个gem,以发送通知

通知使用他的电子邮件地址发送给用户,因此要发送通知我将发送文本电子邮件给用户。

那么如何从gem发送电子邮件?因为我需要从Actionmailer::Base

继承该类
Module ABC
  class notify < ActionMailer::Base
    def send_mail
    end
  end
end

我需要在gemspec文件中添加任何gem吗? railsactionmailer宝石? 提前致谢

1 个答案:

答案 0 :(得分:0)

我仍然无法理解你创造宝石背后的动机。但我会做这样的事情: 创建app / model / notify.rb

class notify < ActionMailer::Base
  default :from => "notify@example.com", :content_type => "text/html"
  def send_mail(user)
    @user = user
    mail(:to => @user.email, :subject => "Notification mail from xyz")
  end
end

现在创建邮件程序视图app / views / notify / send_mail.erb

Hi @user.name,
Here is your notification.
Thanks

现在可以从代码中的任何位置调用此方法。您所要做的就是:

Notify.send_mail(user).deliver

您可以继续添加不同的方法及其模板视图,并将其作为

发送
Notify.your_method(user).deliver