2

我的代码如下所示:

def coupon_available_notice(order, bcc=false)
  # [...]
  headers = {
    :to       => @user.email,
    :from     => "info@domain.com",
    :subject  => subject
  }
  headers[:bcc] = "remail@domain.com" if bcc == true
  mail(headers)
end

当密件抄送为真时 - 消息以纯文本形式发送,所有多部分边界和代码在电子邮件中显示为纯文本垃圾。当密件抄送为假时,它发送得很好。

为什么会这样??

4

1 回答 1

3

事实证明这是我需要的:

def coupon_available_notice(order, bcc=false)
  # [...]
  h = {
    :to       => @user.email,
    :from     => "info@domain.com",
    :subject  => subject
  }
  h[:bcc] = "remail@domain.com" if bcc == true
  mail(h)
end

headers 是 ActionMailer 操作中的保留关键字,因此它显然是以某种非标准方式或其他方式设置密件抄送。只需将其更改为“h”,问题就消失了!

愚蠢的错误?也许。但我敢打赌别人也做同样的;)

于 2011-01-28T02:38:45.467 回答