0

Sinatra の助けを借りて簡単なフォームを送信すると、次のエラーが表示されます。

Net::SMTPAuthenticationError at /contacts 535-5.7.8 ユーザー名とパスワードが受け入れられない Ruby Sinatra

プログラムのバージョン:

  • OS: Windows 7/64
  • Ruby バージョン: ruby​​ 2.6.3p62 (2019-04-16 リビジョン 67580) [x64-mingw32]

バンドルに含まれる宝石:

  • バックポート (3.15.0)
  • バンドラー (2.0.2)
  • メール (2.7.1)
  • ミニマイム (1.0.2)
  • multi_json (1.14.1)
  • ポニー (1.13.1)
  • ラック (1.5.2)
  • ラック保護 (1.5.1)
  • ラックテスト (1.1.0)
  • シナトラ (1.4.4)
  • sinatra-contrib (1.4.7)
  • 傾き (1.4.1)

そして、これがsinatraのapp.rbの私のコードです:

# app.rb
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "pony"

get '/' do
    erb "Hello! <a href=\"https://github.com/bootstrap-ruby/sinatra-bootstrap\">Original</a> pattern has been modified for <a href=\"http://rubyschool.us/\">Ruby School</a>"           
end

get "/contacts" do
    erb :contacts
end

post "/contacts" do
    login   = params[:login]
    message = params[:message]

Pony.mail({
  :to => '***1***@gmail.com',    # real mail 1
  :from => '***2***@gmail.com',  # real mail 2
  :via => :smtp,
  :subject => "New message from user: #{login}",
  :body => "#{message}",

  :via_options => {
    :address              => 'smtp.gmail.com',
    :port                 => '587',
    :enable_starttls_auto => true,
    :user_name            => '***2***@gmail.com', # real mail 2
    :password             => '**********',
    :authentication       => :plain, # :plain, :login, :cram_md5, no auth by default
    :domain               => "gmail.com" # the HELO domain provided by the client to the server
    # :openssl_verify_mode => 'none' 
  }
})
  erb :contacts
end

そして、これがsinatraのcontacts.erbの私のコードです:

<body>
<h2> Feedback </h2>

<form action="/contacts" method="POST">
<div class="form-group">
  <label>Your name:</label>
  <input name="username" type="text" class="form-control" placeholder="Your name">
  <label for="comment">Text of the appeal:</label>
  <textarea name="message" class="form-control" rows="5" placeholder="Text of the appeal"></textarea>
</div>
<button type="submit" class="btn btn-primary">Send:</button>
</form>

バックトレース:

 C:/Ruby26-x64/lib/ruby/2.6.0/net/smtp.rb in check_auth_response

            raise SMTPAuthenticationError, res.message

C:/Ruby26-x64/lib/ruby/2.6.0/net/smtp.rb in auth_plain

          check_auth_response res
4

0 に答える 0