Rails Mailer не отправляет электронную почту - PullRequest
0 голосов
/ 06 мая 2018

Когда я пытаюсь использовать почтовую программу rails (5.1.4), я не получаю ни одного письма, как следует. Я следовал официальному руководству рельсов, чтобы сделать это. Мой конфиг / environment / development.rb:

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            'username@gmail.com',
    password:             'app-password-from-google',
    authentication:       'plain',
    enable_starttls_auto: true 
  }

С этим конфигом я сделал новый почтовик в mailers / appointement_mailer.rb:

class AppointementMailer < ApplicationMailer
  default :from => "username@gmail.com"

  def appointement_information(user_email, data)
    @email = user_email
    @body = data
    mail(:to => "username@gmail.com", :subject => "xxx")
  end
end

Эта почтовая программа запускается формой, управляемой контроллером, она находится в файле controllers / contacts_controller.rb:

      def new

      end

      def create
        @appointement = appointement_params
        AppointementMailer.appointement_information(@appointement['email'], @appointement['body'])
        flash[:notice] = "Some message"
        redirect_to articles_path
      end

      private
      def appointement_params
        params.require('appointement').permit(:email, :body)
      end

В форме правильно отображается флеш-сообщение "Some Message", и в консоли не записывается никаких ошибок.

1 Ответ

0 голосов
/ 06 мая 2018

Вам нужно позвонить deliver_now на ваш звонок в почтовую.

AppointementMailer.appointement_information(@appointement['email'], @appointement['body']).deliver_now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...