Rails 3.1 - 设计插入确认电子邮件主题行的地址

时间:2012-02-12 06:05:33

标签: ruby-on-rails-3.1 devise

我正在使用带有Devise的rails 3.1。当帐户确认电子邮件发出时,会收到以下主题行:

Subject:    [["test13@test.com"]]MySite Account Confirmation Instructions

我修改了config / locals / devise.en.yml中的相应条目,如下所示:

mailer:
  confirmation_instructions:
    subject: 'MySite Account Confirmation Instructions'

我不希望电子邮件主题行中有'[[“test13@test.com”]]。我怎样才能让Devise不把它放在那里?顺便说一下,我真的不想创建一些覆盖Devises的邮件邮件的自定义邮件程序...一个答案的额外奖励积分可以避免与自定义邮件程序有任何关系。但如果这是唯一的方法,我也需要知道......

3 个答案:

答案 0 :(得分:1)

我的猜测是[["test13@test.com"]]实际上只应该出现在开发模式中,因为这是ActionMailer的DevelopmentMailInterceptor的格式(参见RailsCast 206中的注释)

括号内的电子邮件地址表示电子邮件在生产时发送到的地址。它会通过您在DevelopmentMailInterceptor中指定的电子邮件将其发送给您。

答案 1 :(得分:0)

邮件主题是在Devise::Mailers::Helpers.headers_for(源代码here)中生成的,所以最简单的方法就是修补此方法。

答案 2 :(得分:0)

这是一个奇怪的...不得不重新启动我的Mac,之后问题就消失了。