我製作了一個簡單的發送附件郵件的表單。問題是我不知道如何使它在郵件程序中工作。到目前爲止,我發現的所有教程都覆蓋了該場景,當附件的文件已經在服務器的某個位置時,我無法找到任何有關驗證電子郵件內容的信息。Rails 3,操作郵件程序,電子郵件內容的附件和驗證
所以,我要告訴你2個問題:
- 我怎樣才能讓用戶發送電子郵件,與他們上傳的附件?
- 如何驗證用戶的輸入和附件擴展?
我的電子郵件的形式......
<div id="form_wrapper">
<%= form_for(:kontakt, :url => {:action => 'kontakt'}, :html => { :multipart => true }, :remote=>true) do |f| %>
<ul>
<li>
<%= f.label(:email) %>
<%= f.text_field(:email) %>
</li>
<li>
<%= f.label(:content) %>
<%= f.text_area(:content, :size => "42x7") %>
</li>
<li>
<%= f.label(:preview, :class=>:preview)%>
<%= f.file_field :preview %>
</li>
</ul>
<%= image_submit_tag("blank.gif",:id=>"send_email", :class=>"action submit") %>
<%= link_to("Reset", {:controller=>'frontend',:action => 'index'},:remote => true, :class => 'action reset') %>
<% end %>
</div>
<%= javascript_include_tag 'jquery.form.js','jquery.rails','jquery.remotipart' %>
和我的郵件...
class Contact < ActionMailer::Base
default :from => "[email protected]"
def wiadomosc(email)
@content=email[:content]
file=email[:preview]
attachments[file.original_filename] =File.read(file.path)
mail(
:subject=>"www.XXXXXX.pl - you've got a new message",
:reply_to =>"[email protected]",
:to => email[:email]
)
end
end
我想出了attachments[file.original_filename] =File.read(file.path)
和它的添加附件但文件coruppted並不能打開...
任何想法或鏈接將不勝感激。