新手问题 SendCloud 发送邮件报 SSL 错误

jirujun · 2015年09月10日 · 最后由 jun1st 回复于 2015年10月12日 · 2876 次阅读

/environments/development.rb 中的配置如下:

#当我使用 Mailcatcher 配置时,邮件功能完全正常

#config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }

#使用 SendCloud 配置时出错

config.action_mailer.smtp_settings = {
        :address => "smtp.sendcloud.org",
        :port => 25,
        :user_name => "apiuser",
        :password => "apipassword",
        :authentication => 'login',
        :domain => '7i2qIDtOG29LDLAJdEGcXuOFVUTZagjl.sendcloud.org'
    }

报错信息:

OpenSSL::SSL::SSLError in Devise::RegistrationsController#create

hostname "smtp.sendcloud.org" does not match the server certificate

同样的配置以前是正常使用的。最近这个功能一直没用,这几天一看不行了,折腾了一天多也没解决。

尝试了好多办法,也换了两台开发机,生产环境 也都是这样。请教在使用 sendcloud 的小伙伴,有没有正常的?

我也遇到过这个问题 和他们技术沟通过 他们说代码没问题 我这就是跑不起来 就暂时放弃了

安装 Ruby 前,系统安装 openssl 库

  • CentOS: sudo yum install openssl-devel
  • Ubuntu: sudo apt-get install openssl-dev

#2 楼 @huacnlee

谢谢,不是这个事。系统上都有 openssl

遇到过这个问题,不是 openssl 配置问题 你看你的发信账号的种类什么的对不 强烈建议联系他们的客服协助处理,能根据两边日志排错,省不少事儿

#4 楼 @lazybios 谢谢哥们,已联系客服,等待回复中。

一直调用正常,用的.net 调用,说明还是你这边配置的问题

联系客户,客户让配置参数关闭了 ssl

ActionMailer::Base.smtp_settings[:openssl_verify_mode] = false ActionMailer::Base.smtp_settings[:enable_starttls_auto] = false

但是错误继续,变成 end of file reached 了。

#7 楼 @jirujun 碰到过这个问题,在 Terminal 里用 curl 测试一下,是别的错误问题。ruby 显示的错误信息不对,应该还是配置的问题,

#8 楼 @jun1st 谢谢,我走的是 SMTP 接口。

:openssl_verify_mode => 'none' 后解决问题。 (中间出现 endof file reached 是因为我程序中的邮件模板进行了汉化,没有在 sendcloud 后台中提交新模板并申请审核)

#10 楼 @jirujun 用 smtp 碰到错误就会给出 end of file reached. 如果你用 curl 来调试,或者调用 api 来调试,就会告诉你错在哪里了;smtp 出错时不会给出具体的信息

需要 登录 后方可回复, 如果你还没有账号请 注册新账号