Reputation: 2179
I'm getting this error in development when trying to create a user. Who can enlighten me what have I done wrong?
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
environments/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: "[email protected]",
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
mailers/application_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: "[email protected]"
layout 'mailer'
end
mailers/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
views/user_mailer/signup_confirmation.text.erb
<%= @user.first_name %>,
Thank you for signing up!
Upvotes: 0
Views: 2564
Reputation: 36
Connection is getting refused by gmail while attempting to deliver the mail. I had almost the same issue and lately I found out that I have not enabled telnet client on my system which ping gmail. So I have enabled telnet client on my system (Windows 7). Also run a telnet test to troubleshoot the connection. I have followed this link [http://techblissonline.com/troubleshoot-gmail-smtp-server-connection/]http://techblissonline.com/troubleshoot-gmail-smtp-server-connection/ to carry out telnet test. If you are able to ping gmail and still you are getting error, then go to gmail settings and allow less secure apps to access your account.
Upvotes: 1