2009-07-30 108 views
0

我正在使用Action Mailer發送郵件活動的Rails項目。目前,我一直在用一個普通的舊GMail帳戶測試所有的東西。現在接近發佈,我決定將smtp服務器切換到我們的本地郵件服務器。調試SMTP超時錯誤

在我們嘗試實際發送郵件之前,這一切都很好。有了這些新的SMTP服務器設置的郵件什麼都不做,但超時:

MY_SMTP_SETTINGS = { 
    :address => 'oz.some.server.edu', 
    :port => 465, 
    :user_name => MY_USERNAME, 
    :authentication => :login, 
    :password => MY_PASSWORD 
} 

這是錯誤的堆棧跟蹤我收到了一些時間,試圖發送一個運動後:

Timeout::Error: execution expired 
    from /opt/local/lib/ruby/1.8/timeout.rb:60:in `rbuf_fill' 
    from /opt/local/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill' 
    from /opt/local/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' 
    from /opt/local/lib/ruby/1.8/net/protocol.rb:126:in `readline' 
    from /opt/local/lib/ruby/1.8/net/smtp.rb:911:in `recv_response' 
    from /opt/local/lib/ruby/gems/1.8/gems/ambethia-smtp-tls-1.1.2/lib/smtp-tls.rb:19:in `do_start' 
    from /opt/local/lib/ruby/1.8/net/smtp.rb:921:in `critical' 
    from /opt/local/lib/ruby/gems/1.8/gems/ambethia-smtp-tls-1.1.2/lib/smtp-tls.rb:19:in `do_start' 
    from /opt/local/lib/ruby/1.8/net/smtp.rb:525:in `start' 
    from /opt/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.2/lib/action_mailer/base.rb:681:in `perform_delivery_smtp' 
    from /opt/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.2/lib/action_mailer/base.rb:523:in `__send__' 
    from /opt/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.2/lib/action_mailer/base.rb:523:in `deliver!' 
    from /opt/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.2/lib/action_mailer/base.rb:395:in `method_missing' 
    from /Users/ryan/Development/gsoc/cohort/repo/app/models/freemailer_campaign.rb:39:in `send_campaign' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_collection.rb:364:in `method_missing_without_paginate' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_proxy.rb:219:in `method_missing' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_proxy.rb:219:in `each' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_proxy.rb:219:in `send' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_proxy.rb:219:in `method_missing' 
    from /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/association_collection.rb:364:in `method_missing_without_paginate' 
    from /Users/ryan/Development/gsoc/cohort/repo/vendor/plugins/will_paginate/lib/will_paginate/finder.rb:167:in `method_missing' 
    from /Users/ryan/Development/gsoc/cohort/repo/app/models/freemailer_campaign.rb:37:in `send_campaign' 

不要任何人有任何想法如何我可以查明我的問題?

回答

0

使用telnet,如果它沒有打開,檢查防火牆和郵件服務器configuration.Also你可以試試這個爲你的ActionMailer設置:

:authentication => :plain (if so), 
:enable_starttls_auto => true