ActionMailer在带有附件的邮件中重复正文

时间:2018-07-12 12:40:57

标签: ruby-on-rails email attachment actionmailer

我正在尝试发送带有附件的电子邮件。收到电子邮件,但邮件正文出现三遍。

这是我的代码:

class NotificationMailer < ApplicationMailer
  def bill_assignments(user, bill)
    @receiver = user
    @bill = bill
    path = Rails.root.join('tmp', "#{@bill.reference}.pdf")
    attachments["#{@bill.reference}.pdf"] = File.read(path)
    mail(to: user.email, bcc: 'contact@domain.com', subject: "Bill")
    # Elimina el archivo si existe
    File.delete(path) if File.exist?(path)
  end
end

我还重写了mail方法,以确保已启用接收器:

class ApplicationMailer < ActionMailer::Base
  attr_reader :receiver
  def mail(*arg, &block)
    if @receiver.deleted_at.nil?
      super
    end
  end
end

我知道问题出在方法邮件上。如果我退出此方法,则代码可以正常工作,但需要确保接收者用户已启用。

仅发生丝毫附件。如果只是纯文本,则正文仅打印一次,但是如果我有附件,则正文将打印三遍。

我不知道为什么失败。我认为我的方法还可以。如果条件是真的,我就叫超级。

谢谢。

0 个答案:

没有答案
相关问题