1

我们使用 outlook.com(前 hotmail)作为我们组织的邮件。我正在尝试让 redmine 使用我们的 outlook.com 帐户发送通知。Debian 7 上的 Redmine 2.3.1,带有来自发行版的 ruby​​。我发现自 2.3 以来选项 openssl_verify_mode 并不重要,并与 enable_starttls_auto 合并(至少在我的 conf 中似乎没有效果),但我不确定。我在 config/configuration.yml 中尝试了一些版本的设置,但我失败了。

default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto:     true
      address:                  "smtp.live.com"
      port:                     587
      domain:                   "customdomain.com"
      authentication:           :plain
      user_name:                email@customdomain.com
      password:                 passwd

得到

An error occurred while sending mail (SSL_read:: wrong version number)

和替代版本

default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto:     false
      address:                  "smtp.live.com"
      port:                     587
      domain:                   "customdomain.com"
      authentication:           :plain
      user_name:                email@customdomain.com
      password:                 passwd

得到

An error occurred while sending mail (530 5.7.0 Must issue a STARTTLS command first )

如果有人遇到这样的问题并有解决方案?

4

2 回答 2

2

正如user3261218 所描述的,这是Mail gem 中的一个错误。它会影响其他依赖于 Mail 的 gem,例如 Pony

解决方法是明确指定使用的 SSL 版本。在 Mail gem 更新之前,您可以通过在 Mail gem 源中进行编辑来手动应用补丁。lib/mail/network/delivery_methods/smtp.rb

对于 Mail gem 版本 2.5.4,这意味着在第 138 行之后添加以下行

context.ssl_version = :SSLv3
于 2014-02-02T13:15:03.990 回答
0

我在 Mail-gem 问题跟踪器中描述了这个问题和解决方案

https://github.com/mikel/mail/issues/659

修复程序本身在以下提交中:

https://github.com/AlexRevin/mail/commit/a12f77d49c3957bddce3b76cf67587f76fa1acc9

于 2014-02-01T19:36:11.243 回答