Ruby on rails gmail git提交通知程序

Ruby on rails gmail git提交通知程序,ruby-on-rails,ruby,git,githooks,Ruby On Rails,Ruby,Git,Githooks,首先你要知道我是个十足的鲁比·努伯:) 我在我的系统(Ubuntu10.04)上安装了git commit notifier(),并按照所有安装说明进行操作,但每次推送到git存储库时,我都会收到以下错误消息: remote: Sending mail... remote: /usr/lib/ruby/1.8/net/smtp.rb:944:in `check_auth_response': 530 5.7.0 Must issue a STARTTLS command first. n20sm

首先你要知道我是个十足的鲁比·努伯:)

我在我的系统(Ubuntu10.04)上安装了git commit notifier(),并按照所有安装说明进行操作,但每次推送到git存储库时,我都会收到以下错误消息:

remote: Sending mail...
remote: /usr/lib/ruby/1.8/net/smtp.rb:944:in `check_auth_response': 530 5.7.0 Must issue a STARTTLS command first. n20sm12555550ibe.5 (Net::SMTPAuthenticationError)
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:735:in `auth_plain'
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:727:in `send'
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:727:in `authenticate'
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:568:in `do_start'
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:527:in `start'
remote:     from /usr/lib/ruby/1.8/net/smtp.rb:465:in `start'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/emailer.rb:42:in `perform_delivery_smtp'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/emailer.rb:96:in `send'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/commit_hook.rb:55:in `run'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/diff_to_html.rb:285:in `each_with_index'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/commit_hook.rb:51:in `each'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/commit_hook.rb:51:in `each_with_index'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/../lib/commit_hook.rb:51:in `run'
remote:     from /var/lib/gems/1.8/gems/git-commit-notifier-0.7.2/bin/git-commit-notifier:13
remote:     from /var/lib/gems/1.8/bin/git-commit-notifier:19:in `load'
remote:     from /var/lib/gems/1.8/bin/git-commit-notifier:19
我将错误跟踪到emailer.rb脚本。具体行:

Net::SMTP.start(settings['address'], settings['port'], settings['domain'],                                                                                                                             
                settings['user_name'], settings['password'], settings['authentication']) do |smtp|
参数的传递似乎是正确的(我已经检查过了)

我的配置脚本如下所示:

# select the delivery method: smtp or sendmail
delivery_method: smtp

# settings for the smtp server
smtp_server:
    address: smtp.gmail.com
    port: 587
    domain: mydomain
    user_name: redmine@mydomain.com
    password: xxxxxx
    authentication: plain
    enable_tls: true
有人知道我如何解决这个问题吗?我在同一台服务器上有Redmine,它工作正常。发送电子邮件没有问题


谢谢

Net::SMTP似乎不支持STARTTLS。提供了一个解决这个问题的方法,通过monkey patching Net::SMTP来实现这一点