邮件程序默认为

时间:2015-01-08 01:05:56

标签: ruby-on-rails ruby-on-rails-4

我有一个管理员电子邮件:

class AdminMailer < ApplicationMailer
  ADMIN_EMAIL = 'admin@gmail.com'

  def send1
    mail(to: ADMIN_EMAIL, subject: 'You have a new registered user')
  end

end

由于这是一个管理员电子邮件,我想,是否有可能让邮件默认发送给管理员?类似的东西:

class AdminMailer < ApplicationMailer
  default to: 'admin@gmail.com'

我从未见过to选项,它是否存在?

1 个答案:

答案 0 :(得分:2)

是的,默认值可以设置为:to参数。

从rails代码库# You can set default values for any of the above headers (except +:date+)

的相关部分开始

请参阅https://github.com/rails/rails/blob/f6b21d48ef15d4f39a530653c2ce7d0cfb458b46/actionmailer/lib/action_mailer/base.rb#L702-L729

上的代码评论
# The main method that creates the message and renders the email templates. There are
# two ways to call this method, with a block, or without a block.
#
# It accepts a headers hash. This hash allows you to specify
# the most used headers in an email message, these are:
#
# * +:subject+ - The subject of the message, if this is omitted, Action Mailer will
#   ask the Rails I18n class for a translated +:subject+ in the scope of
#   <tt>[mailer_scope, action_name]</tt> or if this is missing, will translate the
#   humanized version of the +action_name+
# * +:to+ - Who the message is destined for, can be a string of addresses, or an array
#   of addresses.
# * +:from+ - Who the message is from
# * +:cc+ - Who you would like to Carbon-Copy on this email, can be a string of addresses,
#   or an array of addresses.
# * +:bcc+ - Who you would like to Blind-Carbon-Copy on this email, can be a string of
#   addresses, or an array of addresses.
# * +:reply_to+ - Who to set the Reply-To header of the email to.
# * +:date+ - The date to say the email was sent on.
#
# You can set default values for any of the above headers (except +:date+)
# by using the ::default class method:
#
#  class Notifier < ActionMailer::Base
#    default from: 'no-reply@test.lindsaar.net',
#            bcc: 'email_logger@test.lindsaar.net',
#            reply_to: 'bounces@test.lindsaar.net'
#  end