Кажется достаточно простым, но я не смог заставить его работать. Файлы отлично работают с S3 в веб-приложении, но когда я отправляю их по электронной почте с помощью приведенного ниже кода, файлы повреждаются.ActionMailer - Как добавить вложение?
App Stack: рельсы 3, Heroku, скрепка + s3
Вот код:
class UserMailer < ActionMailer::Base
# Add Attachments if any
if @comment.attachments.count > 0
@comment.attachments.each do |a|
require 'open-uri'
open("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}", "wb") do |file|
file << open(a.authenticated_url()).read
attachments[a.attachment_file_name] = File.read("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}")
end
end
end
mail(:to => "#{XXXX}",
:reply_to => "XXXXX>",
:subject => "XXXXXX"
)
a.authenticated_url() просто дает мне URL для s3, чтобы получить файл (любого типа), Я проверил это, отлично работает. Что-то связанное с тем, как я сохраняю tempfile, должно нарушать приложение ActionMailer.
Любые идеи?
Вы можете подтвердить, что файл tmp, загруженный с S3, в порядке? – ffoeg 2011-01-09 17:48:20