2011-01-06 20 views
6

Desidero essere in grado di allegare un file che genera (al volo, non voglio salvare il file sul mio server) e inviarlo via e-mail.Allegati e-mail

ho il testo tutto fatto, ma mi sono perso su come allegare il file alla posta elettronica utilizzando sendmail

Grazie

risposta

19

Vedere http://railscasts.com/episodes/206-action-mailer-in-rails-3

def registration_confirmation(user) 
    @user = user 
    attachments["rails.png"] = File.read("#{Rails.root}/public/images/rails.png") 
    mail(:to => "#{user.name} <#{user.email}>", :subject => "Registered") 
end 
+2

sostituire File.read (...) con i dati generati al volo. – ffoeg

+1

Ma se stai inviando un diverso formato di file come csv, xls ecc., Allora dovresti menzionare anche la parte del corpo altrimenti l'allegato non è inviato correttamente nella posta –

+0

sarebbe bello se accettassi la mia risposta se ti aiutasse – Lichtamberg

1

a titolo oneroso alternativa, personalmente ho avuto una buona esperienza con Pony per la posta elettronica. Capita di avere molte dipendenze gem, ma è molto bello lavorare con. Vedere lo README per ulteriori informazioni.