【问题标题】:Rails: Email a pdf generated with prawn to an email sent by ActionMailer?Rails:将用虾生成的 pdf 通过电子邮件发送到 ActionMailer 发送的电子邮件?
【发布时间】:2011-03-21 10:34:00
【问题描述】:

我有一个电子商务应用。我正在使用 Prawn 生成 pdf 订单发票。我正在使用标准的虾设置。在views/admin/orders 中,我有一个名为show.pdf.prawn 的文件。当卖家在他的管理部分查看订单时,他点击打开订单/显示视图的 pdf 版本的链接。这一切都很完美。

现在,棘手的部分。订单完成后,我会向卖家发送电子邮件。我想做的是将订单/显示的 pdf 发票版本附加到该电子邮件。是否有可能做到这一点?电子邮件附件的文档非常有限,我无法找到通过我所描述的工作流程的资源。

感谢任何指导。

【问题讨论】:

    标签: ruby-on-rails actionmailer prawn email-attachments


    【解决方案1】:

    使用 ActionMailer 发送电子邮件附件相当容易:

    class InvoiceMailer < ActionMailer::Base
    
      def email_with_attachment(pdf_invoice)
        .
        .
        .
    
        attachment "application/pdf" do |a|
          a.filename = "some_invoice.pdf"
          a.body = pdf_invoice
        end
      end
    
    end
    

    您可能遇到的一个问题是在 prawnto 方法之外生成 pdf 文件(使用 prawnto 插件时)- 如果是这种情况,我强烈建议您改用this approach

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我设法通过从模型生成 pdf 来做到这一点,这比评估模板要容易得多。我在这里回复了答案:

      Save a Prawn PDF as a Paperclip attachment?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-31
        • 2011-08-11
        • 2018-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多