2010-12-05 8 views
9

Tengo un archivo paperclip'd que quiero añadir un archivo adjunto a mi correo electrónico ....paperclip + ActionMailer - ¿Agregar un archivo adjunto?

UserMailer clase < ActionMailer :: Base def XXXXXX_notification (registro) @record = Registro de

attachments ??? How to add a paperclip file? 

    mail(:to => "#{record.email}", 
     :subject => "XXXXXXXX" 
     ) 
end 

No parece haber nada en el tema a través de Google, si usted tiene alguna idea, me encantaría escucharlo :)

Gracias

ACTUALIZACIÓN

@comment.attachments.each do |a| 
    tempfile = File.new("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}", "w") 
    tempfile << open(a.authenticated_url()) 
    tempfile.puts 
    attachments[a.attachment_file_name] = File.read("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}") 
    # Delete it tempfile 
    #File.delete("#{Rails.root.to_s}/tmp/#{a.filename}") 
    end 

Respuesta

4

Desde el Ruby on guías de carriles (sólo se puede acceder a través Bing):

http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments

Todo lo que queda es descargar el archivo adjunto (si está en S3) a un objeto file o acceda a él se almacena localmente. Intenta usar open-uri.

+1

gracias, pero es la apertura de un archivo de un clip que no puedo averiguar – AnApprentice

+0

por eso es necesario descargar el archivo S3 y luego leerlo ?? No puedo acceder y crear el archivo adjunto? – AnApprentice

+0

Sí. Debe tener el archivo descargado para adjuntarlo. –

9

Ya se ha respondido, pero sólo quiero compartir una forma ligeramente diferente de hacerlo:

Aquí es mi modelo de informe. Estoy usando Paperclip.

class Report < ActiveRecord::Base 
    has_attached_file :pdf_file 
    ... 
end 

Y aquí es mi programa de correo ReportMailer

class ReportMailer < ActionMailer::Base 
    def monthly_report_email(emails, report) 
    attachments[report.pdf_file_file_name] = File.read(report.pdf_file.path) 
    mail(:to => emails, :subject => 'monthly report') 
    end 
end 
+0

me salvaste el tiempo .... muchas gracias – vinothini

Cuestiones relacionadas