On Jul 3, 1:32 pm, Marco Oliveira <[email protected]> wrote:
> Over the past few days I've been going crazy trying to get email
> delivery to work using RoR. From what I've read, settings look right,
> I have no clue what is wrong. I'm hoping the community can give me
> some insight on how to get this thing running.

Sounds like your mail setup stuff isn't being run and so actionmailer
is defaulting to trying to talk to localhost on port 25

Fred
>
> All testing is done in development environment on port 3000.
>
> Users must follow the link emailed to them in order to activate an
> account.
>
> If I set "config.action_mailer.raise_delivery_errors = false"
> everything appears to work fine, but the email doesn't get sent. (log
> shows the email was sent to the correct address, activation link works
> fine).
> Once set to true I get a refused connection. Bellow is actual code
> from each email related file, error details at the end.
>
> environment.rb:
>  config.active_record.observers = :user_observer
>  config.action_mailer.delivery_method = :smtp
>
> development.rb:
> config.action_mailer.raise_delivery_errors = true
> config.action_mailer.default_charset = "utf-8"
> config.action_mailer.perform_deliveries = true
> config.action_mailer.default_content_type = "text/html"
>
> mailsetup.rb:
> # Load mail configuration if not in test environment
> if RAILS_ENV != 'test'
>   email_settings = YAML::load(File.open("#{RAILS_ROOT}/config/
> email.yml"))
>   ActionMailer::Base.smtp_settings = email_settings[RAILS_ENV] unless
> email_settings[RAILS_ENV].nil?
> end
>
> email.yml:
> development:
>   address: "shawmail.wp.shawcable.net"
>   port: 25
>   domain: "shaw.ca"
>   authentication: :login
>   user_name: "[email protected]"
>   password: "secret"
>
> production:
>   address: "shawmail.wp.shawcable.net"
>   port: 25
>   domain: "shaw.ca"
>   authentication: :login
>   user_name: "[email protected]"
>   password: "secret"
>
> test:
>   address: smtp.gmail.com
>   port: 587
>   domain: "gmail.com"
>   authentication: :login
>   user_name: [email protected]
>   password: secret
>
> account_controller.rb :
>   def signup
>     @title = "Sign Up"
>     @user = User.new(params[:user])
>
>     return unless request.post?
>     @user.btn1 = "Default"
>     @user.btn2 = "Default"
>     @user.btn3 = "Default"
>     @user.save!   #<--  this is line 99
>
>     redirect_back_or_default( :action => 'welcome')
>
>     rescue ActiveRecord::RecordInvalid
>     render :action => 'signup'
>   end
>
> user_observer.rb:
> class UserObserver < ActiveRecord::Observer
>   def after_create(user)
>     UserNotifier.deliver_signup_notification(user)
>   end
>
>   def after_save(user)
>     UserNotifier.deliver_activation(user) if user.recently_activated?
>   end
> end
>
> user_notifier:
> class UserNotifier < ActionMailer::Base
>   def signup_notification(user)
>     setup_email(user)
>     @subject    += ' account activation'
>     @body[:url]  = "http://localhost:3000/account/activate/#
> {user.activation_code}"
>   end
>
>   def activation(user)
>     setup_email(user)
>     @subject    += ' '
>     @body[:url]  = "http://localhost:3000/";
>   end
>
>   protected
>   def setup_email(user)
>     @recipients  = "#{user.email}"
>     @from        = "admin"
>     @subject     = "Controllers"
>     @sent_on     = Time.now
>     @body[:user] = user
>   end
> end
>
> Error:
> Errno::ECONNREFUSED (No connection could be made because the target
> machine actively refused it. - connect(2)):
>     C:/Ruby/lib/ruby/1.8/net/protocol.rb:206:in `initialize'
>     C:/Ruby/lib/ruby/1.8/net/protocol.rb:206:in `new'
>     C:/Ruby/lib/ruby/1.8/net/protocol.rb:206:in `old_open'
>     C:/Ruby/lib/ruby/1.8/timeout.rb:62:in `timeout'
>     C:/Ruby/lib/ruby/1.8/timeout.rb:93:in `timeout'
>     C:/Ruby/lib/ruby/1.8/net/protocol.rb:206:in `old_open'
>     C:/Ruby/lib/ruby/1.8/net/smtp.rb:392:in `do_start'
>     C:/Ruby/lib/ruby/1.8/net/smtp.rb:377:in `start'
>     C:/Ruby/lib/ruby/1.8/net/smtp.rb:315:in `start'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/
> action_mailer/base.rb:628:in `perform_delivery_smtp'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/
> action_mailer/base.rb:508:in `__send__'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/
> action_mailer/base.rb:508:in `deliver!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/
> action_mailer/base.rb:383:in `method_missing'
>     /app/models/user_observer.rb:3:in `after_create'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/observer.rb:171:in `send'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/observer.rb:171:in `update'
>     C:/Ruby/lib/ruby/1.8/observer.rb:185:in `notify_observers'
>     C:/Ruby/lib/ruby/1.8/observer.rb:184:in `each'
>     C:/Ruby/lib/ruby/1.8/observer.rb:184:in `notify_observers'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/callbacks.rb:309:in `notify'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/callbacks.rb:296:in `callback'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/callbacks.rb:221:in `create_without_timestamps'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/timestamp.rb:29:in `create'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/base.rb:2483:in `create_or_update_without_callbacks'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/callbacks.rb:207:in `create_or_update'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/base.rb:2217:in `save_without_validation!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/validations.rb:921:in `save_without_dirty!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/dirty.rb:83:in `save_without_transactions!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:110:in `save!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/connection_adapters/abstract/database_statements.rb:
> 66:in `transaction'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:79:in `transaction'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:98:in `transaction'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:110:in `save!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:118:in `rollback_active_record_state!'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/transactions.rb:110:in `save!'
>     /app/controllers/account_controller.rb:99:in `signup'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/base.rb:1166:in `send'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/base.rb:1166:in `perform_action_without_filters'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/filters.rb:579:in `call_filters'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/filters.rb:572:in `perform_action_without_benchmark'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/benchmarking.rb:68:in
> `perform_action_without_rescue'
>     C:/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/benchmarking.rb:68:in
> `perform_action_without_rescue'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/rescue.rb:201:in `perform_action_without_caching'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/caching/sql_cache.rb:13:in `perform_action'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/connection_adapters/abstract/query_cache.rb:33:in
> `cache'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/
> active_record/query_cache.rb:8:in `cache'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/caching/sql_cache.rb:12:in `perform_action'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/base.rb:529:in `send'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/base.rb:529:in `process_without_filters'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/filters.rb:568:in
> `process_without_session_management_support'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/session_management.rb:130:in `process'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/base.rb:389:in `process'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:149:in `handle_request'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:107:in `dispatch'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:104:in `synchronize'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:104:in `dispatch'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:120:in `dispatch_cgi'
>     C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/dispatcher.rb:35:in `dispatch'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../
> lib/mongrel/rails.rb:76:in `process'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../
> lib/mongrel/rails.rb:74:in `synchronize'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../
> lib/mongrel/rails.rb:74:in `process'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:159:in `process_client'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:158:in `each'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:158:in `process_client'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:285:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:285:in `initialize'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:285:in `new'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:285:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:268:in `initialize'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:268:in `new'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel.rb:268:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel/configurator.rb:282:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel/configurator.rb:281:in `each'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel/configurator.rb:281:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/
> mongrel_rails:128:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/
> mongrel/command.rb:212:in `run'
>     C:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/
> mongrel_rails:281
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:503:in `load'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:503:in `load'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:355:in `new_constants_in'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:503:in `load'
>     C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/commands/servers/
> mongrel.rb:64
>     C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `gem_original_require'
>     C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `require'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:510:in `require'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:355:in `new_constants_in'
>     C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:510:in `require'
>     C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/commands/server.rb:
> 39
>     C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `gem_original_require'
>     C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `require'
>     script/server:3
>
> Rendering C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.1/lib/
> action_controller/templates/rescues/layout.erb (internal_server_error)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to