2

ポニーを動作させるのに問題があります。現在、エラーが発生しています:

TypeError: 間違った引数 (NilClass)! (予想される OpenSSL::SSL:SSLContext の種類)

私はsmtpでPony.rbを使用しています。これまでのメソッド呼び出しは次のとおりです。

class Email
     def send_email
             Pony.mail({
                   :to => 'user@domain.com',
                   :via => :smtp,
                   :via_options => {
                         :address => 'smtp.macpractice.com',
                         :port => '587', 
                         :enable_starttls_auto => true,
                         :user_name => 'user@macpractice.com',
                         :password => 'password',
                         :authentication => :plain,
                         :domain => "localhost.localdomain"
                   }
             })
     end
end

docs と smtp.rb ファイルを検索して何が起こっているのかを調べましたが、どういうわけか SSLContext オブジェクトが渡されておらず、Pony でそれを行う方法がわかりません。

4

1 に答える 1

3

ちょうど答えを考え出した。次のようにSSL検証をオフにすることでした:

require 'pony'
class Email
    def send_email 
            Pony.mail({
                    :to => 'cole@macpractice.com',
                    :from => 'blaine@macpractice.com',
                    :subject => 'test',
                    :body => "yo dude",
                    :via => :smtp,      
                    :via_options => {
                            :address        => 'smtp.macpractice.com',
                            :port           => '10040',
                            :user_name      => 'blaine',
                            :password       => '',
                            :authentication => :cram_md5,
                            :domain         => "localhost.localdomain",
                            :openssl_verify_mode    => OpenSSL::SSL::VERIFY_NONE,
                            :enable_starttls_auto   => false

                    }   
            })
    end
end

starttls_auto を false に設定し、ssl 検証モードを verify none に設定すると、ssl 検証なしで smtp 電子メールが作成されます。

于 2013-06-21T14:40:29.597 に答える