cy8*_*4rk 2 ruby gmail smtp redmine
我安装并运行了Redmine 2.2.1,但我无法通知电子邮件.我一直收到以下错误:
An error occurred while sending mail (getaddrinfo: Name or service not known)
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚我错过了什么.我按照这些说明使用Gmail设置了电子邮件通知,但似乎无论我对configuration.yml文件做了哪些更改,我仍然会收到相同的错误.
这是我的configuration.xml文件的样子:
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
tls: true
enable_starttls_auto: true
address: "smtp.gmail.com"
port: 587
domain: "smtp.gmail.com"
authentication: :plain
user_name: "email@mydomain.com"
password: "mypassword"
Run Code Online (Sandbox Code Playgroud)
其他一切都被注释掉了.
我尝试更改和删除tls和enable_starttls_auto选项,但对configuration.yml文件的更改不会影响错误消息.
我还检查了我在其他论坛上发现的常见错误,例如配置文件中的选项卡或生产:配置被定义两次等.
我在Gmail帐户上启用了SMTP.
我也试过设置ActionMailer,但我不确定我应该用它做什么,或者我是否需要这样做.没有提到任何地方都需要它.我安装并设置但不确定是否正在做任何事情.
Redmine 2.2.1
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]
Rails 3.2.11
gem version 1.8.24
Amazon AMI Linux
Run Code Online (Sandbox Code Playgroud)
production.log:
Started GET "/redmine/admin/test_email" for 98.xxx.xx.xx at Wed Jan 16 12:28:23 -0800 2013
Processing by AdminController#test_email as HTML
Current user: oscarm (id=3)
Rendered mailer/test_email.text.erb within layouts/mailer (0.1ms)
Redirected to http://mydomain/redmine/settings /edit?tab=notifications
Completed 302 Found in 35ms (ActiveRecord: 0.7ms)
Started GET "/redmine/settings/edit?tab=notifications" for 98.xxx.xx.xx at Wed Jan 16 12:28:23 -0800 2013
Processing by SettingsController#edit as HTML
Parameters: {"tab"=>"notifications"}
Current user: oscarm (id=3)
Rendered settings/_general.html.erb (6.8ms)
Rendered settings/_display.html.erb (9.0ms)
Rendered settings/_authentication.html.erb (5.9ms)
Rendered settings/_projects.html.erb (5.9ms)
Rendered queries/_columns.html.erb (6.5ms)
Rendered settings/_issues.html.erb (12.6ms)
Rendered settings/_notifications.html.erb (6.4ms)
Rendered settings/_mail_handler.html.erb (1.9ms)
Rendered settings/_repositories.html.erb (10.3ms)
Rendered common/_tabs.html.erb (66.2ms)
Rendered settings/edit.html.erb within layouts/admin (67.0ms)
Rendered admin/_menu.html.erb (5.6ms)
Rendered layouts/base.html.erb (19.3ms)
Completed 200 OK in 222ms (Views: 91.3ms | ActiveRecord: 4.3ms)
Run Code Online (Sandbox Code Playgroud)
所以我弄清楚我的问题是什么......
我不断对configuration.yml文件进行修改,并希望redmine在每次重新加载页面时都能读取它,但事实并非如此.Redmine只在启动时读取配置文件,所以每次我对配置文件进行更改时都必须重新启动redmine.
我试过的一件事是在redmine/plugin中安装action_mailer_optional_tls插件,但我最终发现这个插件只适用于ruby 1.8.6并且我使用的是内置了这个功能的ruby 1.8.7.从redmine/plugin中删除action_mailer_optional_tls目录并重新启动redmine后,我能够发送通知电子邮件:-)
所以这是我使用gmail使redmine工作的最终配置:
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "smtp.gmail.com"
port: 587
domain: "smtp.gmail.com"
authentication: :plain
user_name: "myemail@mydomain.com"
password: "mypassword"
enable_starttls_auto: true
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助那些有同样问题的人.