我无法让小马上班。现在我收到一个错误:
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
我搜索了文档和smtp.rb文件以找出发生了什么,但不知何故它没有被传递给SSLContext对象,我不知道如何在Pony中这样做。
答案 0 :(得分: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模式验证无创建没有ssl验证的smtp电子邮件。