ruby-on-rails - Rails - ActionMailer - 如何发送您创建的附件?

标签 ruby-on-rails ruby-on-rails-3

在 rails3 w ActionMailer 中,我想发送一个 .txt 文件附件。挑战是这个 txt 文件不存在,而是我想根据我拥有的一大块文本创建 txt 文件。

可能的?想法?谢谢

最佳答案

它是针对 API documentation 中的文件进行描述的。 ActionMailer::Base 的

class ApplicationMailer < ActionMailer::Base
  def welcome(recipient)
    attachments['free_book.pdf'] = File.read('path/to/file.pdf')
    mail(:to => recipient, :subject => "New account information")
  end
end

但这不一定是一个文件,它也可以是一个字符串。因此,您可以执行以下操作(我还使用更长的基于哈希的形式,您也可以在其中指定自己的 mimetype,您可以在 ActionMailer::Base#attachments 中找到相关文档):
class ApplicationMailer < ActionMailer::Base
  def welcome(recipient)
    attachments['filename.jpg'] = {:mime_type => 'application/mymimetype',
                                   :content => some_string }
    mail(:to => recipient, :subject => "New account information")
  end
end

关于ruby-on-rails - Rails - ActionMailer - 如何发送您创建的附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145870/

相关文章:

ruby-on-rails - 载波缓存不重新提交

jquery - will_paginate 分页在 AJAX 刷新时呈现两次

ruby-on-rails-3 - Rails 3 - 设置页面标题的理想方法

ruby-on-rails-3 - Activeadmin 禁用 "new resource"方法

ruby-on-rails - 避免在 Rails View 中丢失时区的最佳方法是什么?

jquery - Rails 3 ajax 调用 - ActionView::MissingTemplate

ruby-on-rails - 如何在 Rails 中指定环境依赖性?

ruby-on-rails - 以 <<-HTML 开头的 ruby​​ block

ruby-on-rails - 我的 Postgres 端口文件应该是什么样的?

ruby-on-rails - 如何向 Rails 的部分渲染查找添加 View 路径?