我制作了一个简单的发送附件邮件的表单。问题是我不知道如何使它在邮件程序中工作。到目前为止,我发现的所有教程都覆盖了该场景,当附件的文件已经在服务器的某个位置时,我无法找到任何有关验证电子邮件内容的信息。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并不能打开...
任何想法或链接将不胜感激。