0

当用户在收件箱中收到新邮件时,Mailboxer 会发送电子邮件通知。这很好,但是有些用户可能不想接收电子邮件。如何在视图中为将禁用“新消息”电子邮件通知的用户显示复选框选项?

邮箱.rb:

Mailboxer.setup do |config|

  #Configures if you applications uses or no the email sending for Notifications and Messages
  config.uses_emails = true

  #Configures the default from for the email sent for Messages and Notifications of Mailboxer
  config.default_from = "no-reply@mailboxer.com"

  #Configures the methods needed by mailboxer
  config.email_method = :mailboxer_email
  config.name_method = :name

  #Configures if you use or not a search engine and wich one are you using
  #Supported enignes: [:solr,:sphinx]
  config.search_enabled = false
  config.search_engine = :solr
end
4

2 回答 2

2

您可以通过以下方式为用户提供选择:

def mailboxer_email(object)
  self.email if self.preferences.receive_direct_message_by_email?
end

或者

def mailboxer_email(object)
    if self.no_email
    else
        nil
    end
end

如果使用第二种方法,您必须创建一个no_email属性。

于 2014-05-07T15:21:19.287 回答
1

假设您的User模型是可消息的,您可以mailboxer_email按照以下方式覆盖该方法:

class User < ActiveRecord::Base
  acts_as_messageable

  ...

  def mailboxer_email(object)
    if self.opts_out   # some attribute on the user to indicate they opt out of receiving emails
      nil
    else
      return self.email   # or whatever address the email is to be sent to
    end
  end
end
于 2014-05-06T19:49:31.307 回答