git-commit-notifier with gmail

时间:2010-07-17 03:10:23

标签: ruby-on-rails ruby git githooks

首先,你必须知道我是Ruby Ruby noob :)

我在我的系统(Ubuntu 10.04)上安装了git-commit-notifier(http://github.com/ilozka/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并且工作正常。没有电子邮件发送问题。

谢谢

1 个答案:

答案 0 :(得分:2)

Net :: SMTP似乎不支持STARTTLS。 This question通过猴子修补Net :: SMTP来解决这个问题。