如何使用 Pony 通过 Sinatra 发送邮件?
How to send mail with Sinatra using Pony?
我在使用我在 Sinatra 中构建的联系表单发送电子邮件时遇到问题。我正在使用 Pony gem。出于某种原因,我收到此错误消息 'No such file exist-which sendmail'。我已经安装了 'sendmail',但我仍然遇到同样的问题。我愿意接受任何建议。代码如下:
联系表
<form action='/' id='contact' name='contact' method='post' novalidate='novalidate' >
<div class="form-group">
<div class="input-wrap">
<input type="text" class='form-control' name='name' id='name' placeholder='NAME'>
</div>
<br>
<div class="input-wrap">
<input type="email" class='form-control' name='mail' id='mail' placeholder='EMAIL'>
</div>
<br>
<div class="input-wrap">
<input type="text" class='form-control' name='subject' id='subject' placeholder='SUBJECT'>
</div>
<br>
<div class="input-wrap">
<textarea placeholder='MESSAGE' class='form-control' name="body" id="body" cols="30" rows="10"></textarea>
</div>
<br>
<input type='submit' value='SEND' id='button'>
</div>
</form>
main.rb
require 'rubygems'
require 'sinatra'
require 'bundler/setup'
get '/' do
File.read('index.html')
end
post '/' do
require 'pony'
name = params[:name]
mail = params[:mail]
subject = params[:subject]
body = params[:body]
Pony.mail(:to => 'mjstokes1986@att.net', :from => '#{name}', :subject => '#{subject}', :body => '#{body}')
# File.read('index.html')
redirect '/success'
end
get '/success' do
File.read('success.html')
end
尝试告诉 Pony.mail
方法在哪里可以找到您的 sendmail
。您可以使用 which sendmail
找到您的 sendmail 位置。 (如果这没有 return 任何东西,那么你只是没有正确安装 sendmail)。
Pony.mail({
...
:via_options => { :location => '/path/to/your/sendmail'}
})
我在使用我在 Sinatra 中构建的联系表单发送电子邮件时遇到问题。我正在使用 Pony gem。出于某种原因,我收到此错误消息 'No such file exist-which sendmail'。我已经安装了 'sendmail',但我仍然遇到同样的问题。我愿意接受任何建议。代码如下:
联系表
<form action='/' id='contact' name='contact' method='post' novalidate='novalidate' >
<div class="form-group">
<div class="input-wrap">
<input type="text" class='form-control' name='name' id='name' placeholder='NAME'>
</div>
<br>
<div class="input-wrap">
<input type="email" class='form-control' name='mail' id='mail' placeholder='EMAIL'>
</div>
<br>
<div class="input-wrap">
<input type="text" class='form-control' name='subject' id='subject' placeholder='SUBJECT'>
</div>
<br>
<div class="input-wrap">
<textarea placeholder='MESSAGE' class='form-control' name="body" id="body" cols="30" rows="10"></textarea>
</div>
<br>
<input type='submit' value='SEND' id='button'>
</div>
</form>
main.rb
require 'rubygems'
require 'sinatra'
require 'bundler/setup'
get '/' do
File.read('index.html')
end
post '/' do
require 'pony'
name = params[:name]
mail = params[:mail]
subject = params[:subject]
body = params[:body]
Pony.mail(:to => 'mjstokes1986@att.net', :from => '#{name}', :subject => '#{subject}', :body => '#{body}')
# File.read('index.html')
redirect '/success'
end
get '/success' do
File.read('success.html')
end
尝试告诉 Pony.mail
方法在哪里可以找到您的 sendmail
。您可以使用 which sendmail
找到您的 sendmail 位置。 (如果这没有 return 任何东西,那么你只是没有正确安装 sendmail)。
Pony.mail({
...
:via_options => { :location => '/path/to/your/sendmail'}
})