连接被拒绝 - 连接(2)“localhost”端口587

时间:2015-08-06 08:01:42

标签: ruby-on-rails actionmailer

尝试创建用户时,我在开发过程中遇到此错误。谁能告诉我我做错了什么?

enter image description here

users_controller.rb

  def create
    @user = User.new(user_params)
    if @user.save
      session[:user_id] = @user.id
      UserMailer.signup_confirmation(@user).deliver_now
      redirect_to user_tasks_path(current_user.id), notice: "Thank you for signing up!"
    else
      render "new"
    end
  end

环境/ development.rb

Rails.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 web server when you make code changes.
  config.cache_classes = false

  # Do not eager load code on boot.
  config.eager_load = false

  # Show full error reports and disable caching.
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send.
  config.action_mailer.raise_delivery_errors = true

  config.action_mailer.delivery_method = :smtp

  config.action_mailer.smtp_settings = {
  adress: "smtp@gmail.com",
  port: 587,
  authentication: "plain",
  enable_starttls_auto: true,
  user_name: ENV["GMAIL_USERNAME"],
  password: ENV["GMAIL_PASSWORD"]
  }

  # Print deprecation notices to the Rails logger.
  config.active_support.deprecation = :log

  # Raise an error on page load if there are pending migrations.
  config.active_record.migration_error = :page_load

  # Debug mode disables concatenation and preprocessing of assets.
  # This option may cause significant delays in view rendering with a large
  # number of complex assets.
  config.assets.debug = true

  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  # yet still be able to expire them through the digest params.
  config.assets.digest = true

  # Adds additional error checking when serving assets at runtime.
  # Checks for improperly declared sprockets dependencies.
  # Raises helpful error messages.
  config.assets.raise_runtime_errors = true

  # Raises error for missing translations
  # config.action_view.raise_on_missing_translations = true
end

寄件人/ application_mailer.rb

class ApplicationMailer < ActionMailer::Base
  default from: "alexnotonfire@example.com"
  layout 'mailer'
end

寄件人/ user_mailer.rb

class UserMailer < ApplicationMailer

  # Subject can be set in your I18n file at config/locales/en.yml
  # with the following lookup:
  #
  #   en.user_mailer.signup_confirmation.subject
  #
  def signup_confirmation(user)
    @user = user

    mail to: user.email, subject: "Sign Up Confirmation"
  end
end

视图/ user_mailer文件/ signup_confirmation.text.erb

<%= @user.first_name %>,

Thank you for signing up!

1 个答案:

答案 0 :(得分:1)

尝试传递邮件时,gmail会拒绝连接。我有几乎相同的问题,最近我发现我没有在我的系统上启用ping gmail的telnet客户端。所以我在我的系统上启用了telnet客户端(Windows 7)。还要运行telnet测试来排除连接故障。我已按照此链接[http://techblissonline.com/troubleshoot-gmail-smtp-server-connection/]http://techblissonline.com/troubleshoot-gmail-smtp-server-connection/进行telnet测试。如果您能够ping gmail并且仍然收到错误,那么请转到gmail设置并允许安全性较低的应用访问您的帐户。