Отказ в соединении - connect (2) для порта "localhost" 1025 - PullRequest
0 голосов
/ 08 мая 2018

Я прохожу этот учебник (ссылка: https://www.murdo.ch/blog/build-a-contact-form-with-ruby-on-rails-part-1), чтобы создать простую форму для связи с нами в моем существующем приложении rails. После завершения учебника и тестирования в моей среде разработки я заметил, что мои настройки smtp мешают моя форма для связи с нами. По сути, я просто хочу отправить сообщение на адрес электронной почты, поэтому мне не нужен адрес электронной почты отправителя. Я попытался удалить настройки SMTP в моем файле development.rb, но затем я получаю эту ошибку при нажатии кнопки отправки :

Errno :: ECONNREFUSED в MessagesController # create Отказ в соединении - connect (2) для порта "localhost" 1025

Я пытался решить по-разному, но я возвращаюсь к той же самой ошибке. Вот мой код:

model/message.rb:
class Message 
  include ActiveModel::Model
  attr_accessor :name, :email, :body
  validates :name, :email, :body, presence: true
end

Вот мой контроллер сообщений:

class MessagesController < ApplicationController
 def new
  @message = Message.new
 end
 def create

  @message = Message.new message_params

  if @message.valid?
    MessageMailer.contact_me(@message).deliver_now
    redirect_to new_message_url, notice: "Message received"
  else
  render :new
 end
end

 def message_params
  params.require(:message).permit(:name, :email, :body)
 end
end

Мой взгляд: new.html.erb:

<%= form_for @message, url: create_message_url do |f| %>
 <%= notice %>
 <%= @message.errors.full_messages.join(', ') %>

 <%= f.text_field :name, placeholder: 'name' %>
 <%= f.email_field :email, placeholder: 'email' %>
 <%= f.text_area :body, placeholder: 'body' %>
 <%= f.submit 'Send' %>
<% end %>

Мой почтовик:

class MessageMailer < ApplicationMailer
 def contact_me(message)
  @greeting = 'Hi'
  @body = message.body

  mail to: "notifications@example.com", from: message.email
 end
end

И мой код настроек Development.rb / SMTP:

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
 :address              => 'localhost',
  :port                 => 587,
  :domain               => 'localhost:3000',
  :user_name            => 'example@gmail.com',
  :password             => '######',
  :authentication       => 'plain',
  :enable_starttls_auto => true  
 }

Я просто хочу избавиться от настроек smtp, но, к сожалению, не могу, есть ли способ переопределить эти настройки или альтернативное решение, или я что-то упустил, Любая помощь будет оценена, Заранее спасибо

...