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.

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