title: Devise - Setting up mailer
body: <p>I have devise implemented into a rails 3 application. I am trying to get the mailer to work with devise. My current situation is that when I enter an email address which is a default gmail account I have set up. It redirects me back to the 'login' page and gives me a notice 'saying I will recieve instructions soon' however these instructions are not being sent.  I have the same problem as some one who posted on <a href="http://www.ruby-forum.com/topic/215482" rel="noreferrer">RubyForum</a> I read this post and it didn't help at all. My config/environment/development.rb look like the following: </p>
  
  <pre><code>Project::Application.configure do
    # Settings specified here will take precedence over those in config/application.rb
  
    # In the development environment your application's code is reloaded on
    # every request.  This slows down response time but is perfect for development
    # since you don't have to restart the webserver when you make code changes.
    config.cache_classes = false
  
    # Log error messages when you accidentally call methods on nil.
    config.whiny_nils = true
  
    # Show full error reports and disable caching
    config.consider_all_requests_local       = true
    config.action_view.debug_rjs             = true
    config.action_controller.perform_caching = false
  
    # Don't care if the mailer can't send
    config.action_mailer.raise_delivery_errors = false
  
    # Print deprecation notices to the Rails logger
    config.active_support.deprecation = :log
  
    # Only use best-standards-support built into browsers
    config.action_dispatch.best_standards_support = :builtin
  
    #SMTP
    config.action_mailer.default_url_options = { :host =&gt; 'localhost' }  
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
    :address              =&gt; "smtp.gmail.com",
    :port                 =&gt; 587,
    :user_name            =&gt; 'k0903421@gmail.com',
    :password             =&gt; '',
    :authentication       =&gt; 'plain',
    :enable_starttls_auto =&gt; true  }
  
  end
  </code></pre>
  
  <p>Is there something I am missing?</p>
  
  <p>When I am redirected back to the login page I get in the console: </p>
  
  <pre><code>Sent mail to k0903421@gmail.com (30181ms)
  Date: Thu, 15 Sep 2011 14:48:06 +0100
  From: please-change-me-at-config-initializers-devise@example.com
  Reply-To: please-change-me-at-config-initializers-devise@example.com
  To: k0903421@gmail.com
  Message-ID: &lt;4e720216bf59b_3b215d477ae963de@dj.mail&gt;
  Subject: Reset password instructions
  Mime-Version: 1.0
  Content-Type: text/html;
   charset=UTF-8
  Content-Transfer-Encoding: 7bit
  
  &lt;p&gt;Hello k0903421@gmail.com!&lt;/p&gt;
  
  &lt;p&gt;Someone has requested a link to change your password, and you can do this through the link below.&lt;/p&gt;
  
  &lt;p&gt;&lt;a href="http://localhost/users/password/edit?reset_password_token=fqJXk6JbotIxIv3Awq1s"&gt;Change my password&lt;/a&gt;&lt;/p&gt;
  
  &lt;p&gt;If you didn't request this, please ignore this email.&lt;/p&gt;
  &lt;p&gt;Your password won't change until you access the link above and create a new one.&lt;/p&gt;
  Redirected to http://0.0.0.0:3000/login
  Completed 302 Found in 32658ms
  
  
  Started GET "/login" for 127.0.0.1 at 2011-09-15 14:48:36 +0100
    Processing by Devise::SessionsController#new as HTML
    SQL (0.7ms)  describe `roles_users`
    SQL (0.9ms)  describe `roles_users`
  Rendered layouts/_stylesheets.html.erb (0.9ms)
  Rendered layouts/_javascripts.html.erb (1.6ms)
  Rendered layouts/_header.html.erb (0.8ms)
  Rendered layouts/_logo.html.erb (0.7ms)
  Rendered layouts/_errors.html.erb (1.8ms)
  Rendered devise/sessions/new.html.erb within layouts/application (62.0ms)
  Completed 200 OK in 150ms (Views: 68.9ms | ActiveRecord: 1.6ms)
  </code></pre>
  
  <p><strong>Devise password_controller</strong></p>
  
  <pre><code>def create
      self.resource = resource_class.send_reset_password_instructions(params[resource_name])
  
      if successful_and_sane?(resource)
        set_flash_message(:notice, :send_instructions) if is_navigational_format?
        respond_with({}, :location =&gt; after_sending_reset_password_instructions_path_for(resource_name))
      else
        respond_with_navigational(resource){ render_with_scope :new }
      end
    end
  </code></pre>