我已阅读完整的官方指南here以及有关Rails 3和Rails 4描述此问题的大约5个问题。
This question适用于Rails 5,但他使用的是实际文件,而不是编码字符串。
这是我的邮件代码(是的,我有两个视图设置)。电子邮件完全正常,附带PDF格式。
def pdf_quote(proposal)
@proposal = proposal
email_with_name = %("#{@proposal.first_name} #{@proposal.last_name}" <#{@proposal.email}>)
filename = "QD-#{@proposal.qd_number}_#{@proposal.last_name}.pdf"
attachments[filename] = {
mime_type: 'application/pdf',
encoding: 'Base64',
content: @proposal.pdf_base64
}
mail(
to: email_with_name,
from: 'Floorbook UK <email address>',
subject: 'Your Personal Flooring Quote is attached',
sent_on: Time.now
)
end
在gmail中,附件被称为“noname”,在邮箱中,它被称为“pb_mime_attachment.pdf”
如何让ActionMailer使用我提供的文件名?
请注意,我正在使用MailGun(mailgun-ruby gem 1.1.4)发送电子邮件,因此它可能是错误的宝石。
答案 0 :(得分:0)
事实证明这是第三方mailgun-ruby gem的错误。
我向他们提出了一个错误,以下是详细信息: https://github.com/mailgun/mailgun-ruby/issues/82
它在1.1.5版本中已修复(我测试过)。