与Pony和Sinatra一起发送邮件

我正试图从sinatra中的Pony Gem发送一封联系表格(内置HTML)的电子邮件,我已按照文档进行操作,但必须遗漏一些内容。

这是Pony配置

get '/contact' do erb :contact, :layout => :layout end post '/contact' do require 'pony' Pony.mail({ :from => params[:name], :to => 'myemailaddress', :subject => params[:name] + "has contacted you via the Website", :body => params[:comment], :via => :smtp, :via_options => { :address => 'smtp.gmail.com', :port => '587', :enable_starttls_auto => true, :user_name => 'myemailaddress', :password => 'mypassword', :authentication => :plain, :domain => "localhost.localdomain" } }) redirect '/success' end get('/success') do @notification = "Thanks for your email. I'll be in touch soon." erb :index, :layout => :layout end 

因此,在单击提交后,联系页面将重新呈现而不显示任何消息

这是我的提交按钮

   

我在某处错过了触发器吗?

你确定你有表格设置来post吗? 如果它似乎刷新了页面,则form标签可能无法正确设置。 此外,要提交的按钮应该是submit类型的input标记。 HTML需要看起来像这样: