创建帖子后使用 Action Mailer 向用户发送电子邮件

2024-04-16

我有一个 User 模型(带有 Devise)和一个属于用户的 Post 模型。我用了这个 Railscast(专业版) http://railscasts.com/episodes/61-sending-email-revised创建帐户后向用户发送电子邮件

我创建了一个“NewPostMailer”

这是我的邮件:

class NewPostMailer < ActionMailer::Base
  default :from => "[email protected] /cdn-cgi/l/email-protection"

  def new_post_email(user)
    @user = user
    @url = "http://localhost.com:3000/users/login"
    mail(:to => user.email, :subject => "New Post")
   end
end

我的帖子控制器:

  def create
    @post= Post.new(params[:post])

    respond_to do |format|
      if @deal.save
        NewPostMailer.new_post_confirmation(@user).deliver
        format.html { redirect_to @post, notice: 'Post was successfully created.' }

post.rb

  after_create :send_new_post_email

  private
  def send_new_post_email
    NewPostMailer.new_post_email(self).deliver
  end

在用户创建帖子后,我必须更改什么才能向用户发送电子邮件。谢谢。


创建另一个邮件程序(http://railscasts.com/episodes/206-action-mailer-in-rails-3 http://railscasts.com/episodes/206-action-mailer-in-rails-3)

 class YourMailerName < ActionMailer::Base
     default :from => "[email protected] /cdn-cgi/l/email-protection"

   def post_email(user)
    mail(:to => "#{user.name} <#{user.email}>", :subject => "Registered")
   end
 end

在你的帖子模型中

 after_create :send_email

 def send_email
   YourMailerName.post_email(self.user).deliver
 end

发送电子邮件非常慢,因此请考虑将其放在后台作业中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建帖子后使用 Action Mailer 向用户发送电子邮件 的相关文章

随机推荐