0

Pony を使用して電子メールを送信しようとしていますが、 # Mail::Message: の未定義メソッド「アドレス」で NoMethodError
を取得しようとしています。
エラー。これまでの私のコードは次のとおりです。

post '/' do
Pony.options = { :from           => '___@yandex.ru',
                 :via            => :smtp,
                 :address        => 'smtp.yandex.ru',
                 :port           => '465',
                 :user_name      => '___',
                 :password       => '___',
                 :authentication => :plain, 
                 :domain         => "http://127.0.0.1:9393/"
                }
Pony.mail(subject: 'Hello', to: "___@yandex.ru", body: 'hi')
redirect '/'
end

bundle listを実行すると、 pony (1.10)が表示されます。何が問題になる可能性がありますか?

4

1 に答える 1

2

:address:portなどは:via_optionsハッシュ内に入ります。

ドキュメントごと:

  :via_options => {
    :address        => 'smtp.yourserver.com',
    :port           => '25',
    :user_name      => 'user',
    :password       => 'password',
    :authentication => :plain, # :plain, :login, :cram_md5, no auth by default
    :domain         => "localhost.localdomain" # the HELO domain provided by the client to the server
  }

したがって、次のものが必要になります。

post '/' do

  Pony.options = {   
                   :from           => '___@yandex.ru',
                   :via            => :smtp,
                   :via_options    => {
                     :address        => 'smtp.yandex.ru',
                     :port           => '465',
                     :user_name      => '___',
                     :password       => '___',
                     :authentication => :plain, 
                     :domain         => "http://127.0.0.1:9393/"
                    }
                 } 

  Pony.mail(subject: 'Hello', to: "___@yandex.ru", body: 'hi')

  redirect '/'

end
于 2014-08-07T15:22:45.593 に答える