2015-09-16 2 views
2

Я включил данный кодотправить вложение в почту с помощью почтовой программы rails4

def send_help_enterprise 
    p '-----------------' 
    p params 
    Mailer.help_enterprise_issue(params[:app], params[:version], params[:name], params[:description][:text]) 
    respond_to do |format| 
     format.js { 
     render :layout => false 
     } 
    end 
    end 

и принеси параметры

{"utf8"=>"✓", "app"=>"test", "version"=>"1.1", "name"=>"faltuz", "description"=>{"text"=>"dcdfwedfed"}, "remotipart_submitted"=>"true", "authenticity_token"=>"rAykheNgAcEZF/M36i+hkpMzs+X1QZA+56hFoXAdQfXyDkGQU7K441nDylKKvj4cuxs/bfJgg7SEM0k9Kr+IGQ==", "X-Requested-With"=>"IFrame", "X-Http-Accept"=>"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01", "file"=>#<ActionDispatch::Http::UploadedFile:0xb483c5d4 @tempfile=#<Tempfile:/tmp/RackMultipart20150916-3796-okttg1.jpeg>, @original_filename="images1.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"images1.jpeg\"\r\nContent-Type: image/jpeg\r\n">, "controller"=>"enterprises", "action"=>"send_help_enterprise"} 

и в моей почтовой программе я включил данный код

def help_enterprise_issue(app,version,name,description) 
    @app = app 
    @version = version 
    @name = name 
    @description = description 
    @email = '[email protected]' 
    mail :to => @email, 
     :subject => I18n.t('mailer.info.help_enterprise_issue') 
    end 

Пожалуйста как я могу прикреплять файл в этой почте, я хочу прикрепить заданный файл, который я получаю в params [: файл]. Пожалуйста, помогите мне в решении этого. Заранее спасибо

+1

посмотрите на это http://stackoverflow.com/questions/5145870/rails-actionmailer-how-to-send-an-attachment-that-you-create – amtest

ответ

0

атрибут использования прикрепление attachments['file-name.pdf'] = File.read('file-name.pdf').

def welcome(user) 
    attachments['file-name.pdf'] = File.read('path/to/file-name.pdf') 
    mail(:to => user, :subject => "Welcome!") 
end 

см это (2.3): http://guides.rubyonrails.org/action_mailer_basics.html

Измените код следующим образом:

def send_help_enterprise 
    p '-----------------' 
    p params 
    Mailer.help_enterprise_issue(params[:app], params[:version], params[:name], params[:description][:text], params[:file]) 
    respond_to do |format| 
    format.js { 
     render :layout => false 
    } 
    end 
end 

в вашей почтовой программе

def help_enterprise_issue(app,version,name,description,file) 
    @app = app 
    @version = version 
    @name = name 
    @description = description 
    @email = '[email protected]' 
    attachments['attachment.extension'] = file 
    mail :to => @email, 
     :subject => I18n.t('mailer.info.help_enterprise_issue') 
end 

Thisshould работы

0

на основе http://guides.rubyonrails.org/action_mailer_basics.html, вы должны добавить attachments['file-name.jpg'] = File.read('file-name.jpg'). Таким образом, вы можете применить этот метод.

def help_enterprise_issue(app,version,name,description) 
    attachments['file-name.jpg'] = File.read('file-name.jpg') 
    @app = app 
    @version = version 
    @name = name 
    @description = description 
    @email = '[email protected]' 
    mail :to => @email, 
    :subject => I18n.t('mailer.info.help_enterprise_issue') 
end 

Надеюсь, это может вам помочь.

Смежные вопросы