我一直在尝试在我们的宝石的帮助下在我们所有项目中设置全局电子邮件标题。目前,该gem用于在我们的所有电子邮件中添加BCC电子邮件等。我将标题的代码添加到添加BCC电子邮件地址的方法中。
在我们所有的项目中都正确添加了BCC地址,所以我知道这行代码肯定是在启动时运行的。
这是相关宝石的代码。
ActionMailer::Base.default "FOO" => 'BAR'
bcc = message.bcc.to_a
bcc << BCC_ADDRESS
message.bcc bcc
我们的想法是,这个标题会出现在我们所有的电子邮件中。
现在出现了有趣的部分以及我为创建我遇到的问题所采取的步骤。
reload!
我在rails 3.2.22.5(ruby 2.2.4)和rails 4.2.9中尝试了这个。 (红宝石2.4.1) 运行规范时不包括标题,但是那里存在BCC地址。
有谁知道可能导致这些奇怪症状的原因是什么?
答案 0 :(得分:0)
好的,所以问题与默认情况下的电子邮件兑现有关。 因此,重新发送电子邮件时不会重新检查默认值。
为了解决这个问题,我通过执行以下操作改变了gem处理的方式,以便在我要发送的每封邮件之间进行操作。
mail.header[:'FOO'] = 'BAR'